Tatkal and Normal train Booking Automation in 1 Minute
[!NOTE]
This Cypress script for automating IRCTC ticket booking is created strictly for educational purposes. The code and its usage are intended to showcase Cypress testing capabilities and best practices. Any attempt to use this script for unauthorized access or activities that violate IRCTC terms of service or legal regulations is strictly prohibited. The author(s) and associated entities are not responsible for any misuse or legal consequences resulting from the use of this script for any unauthorized activities.
[!TIP] Filling Your UPI ID Will Initiate A Payment Request Directly. But it's a bit slow generally would take 2 or 3 sec to arrive request on your smartphone. If Your are not using this then you can scan and pay directly which would be much faster.
[!NOTE]
At a time either Tatkal Or Premium Tatkal can be -> true <- not both.
{
"TRAIN_NO": "12318",
"TRAIN_COACH": "3A",
"TRAVEL_DATE": "12/09/2023",
"SOURCE_STATION": "UMB",
"BOARDING_STATION": null, <-- Change to full station name if required, else leave null
"DESTINATION_STATION": "BSB",
"TATKAL": true,
"PREMIUM_TATKAL": false,
"UPI_ID_CONFIG": "",
"PASSENGER_DETAILS": [
{
"NAME": "SHIVAM PANDEY",
"AGE": 25,
"GENDER": "Male",
"SEAT": "Side Upper",
"FOOD" "No Food"
}
],
}
"__valid_coaches__": "SL | 2A | 3A | 3E | 1A | CC | EC | 2S", <---------- Please Use Only from these values.
"__valid_seats__": "Lower | Middle | Upper | Side Lower | Side Upper | Window Side | No Preference", <---------- Please Use Only from these values.
"__valid_genders__": "Male | Female | Transgender", <---------- Please Use Only from these values.
"__valid_food_choices__": "Veg | Non Veg | No Food" <---------- Please Use Only from these values.
PASSENGER_DETAILS
as an example below{
"TRAIN_NO": "12318",
"TRAIN_COACH": "3A",
"TRAVEL_DATE": "12/09/2023",
"SOURCE_STATION": "UMB",
"BOARDING_STATION": null, <-- Change to full station name if required, else leave null
"DESTINATION_STATION": "BSB",
"TATKAL": true,
"PREMIUM_TATKAL": false,
"UPI_ID_CONFIG": "",
"PASSENGER_DETAILS": [
{
"NAME": "SHIVAM PANDEY",
"AGE": 26,
"GENDER": "Male",
"SEAT": "Side Upper",
"FOOD" "No Food"
},
{
"NAME": "Rachna Bhagat",
"AGE": 26,
"GENDER": "Female",
"SEAT": "Side Lower",
"FOOD" "No Food"
},
{
"NAME": "Passenger 3 Name",
"AGE": 26,
"GENDER": "Female",
"SEAT": "Side Lower",
"FOOD" "No Food"
}
],
}
USERNAME
, password
in cypress.env.json
[!TIP] If you wish to enter CAPTCHA manually, then change
MANUAL_CAPTCHA
totrue
incypress.env.json
{
"USERNAME": "yourusername",
"PASSWORD": "yourpassword",
"MANUAL_CAPTCHA": false
}
Follow The Guide -> https://github.com/shivamguys/irctc-cypress-automation/discussions/38
git clone https://github.com/shivamguys/irctc-cypress-automation.git
or download the code zip files.# installs NVM (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# download and install Node.js
nvm install 21
# verifies the right Node.js version is in the environment
node -v # should print `v21.7.1`
# verifies the right NPM version is in the environment
npm -v # should print `10.5.0`
sudo apt-get install python3-pip -y
pip install -r irctc-captcha-solver/requirements.txt # <---- Make Sure You Run This Command From Code Folder.
This Would Print No base-64 String provided Which Means You Have Followed Correctly at this point.
python irctc-captcha-solver/app.py ""
npm install # <---- Make Sure You Run This Command From Code Folder.
npx cypress run --headed --no-exit # <---- Make Sure You Run This Command From Code Folder.