Automated End-to-End (E2E) testing project for the Urban Routes application, focused on validating the complete taxi request flow using Selenium and Pytest.
Miguel Bautista Gómez
- Sprint: 8
- Cohort: 28
This project automates the full taxi booking journey in the Urban Routes web application.
The automated tests simulate real user interactions to ensure the application behaves correctly at every step of the process:
- Route selection
- Fare selection
- Phone verification
- Payment method setup
- Additional service requests
- Final ride confirmation
- Python 3.13
- Selenium – Browser automation and UI interaction
- Pytest – Test execution and structure
- End-to-End (E2E) testing using Selenium WebDriver
- Page Object Model (POM) design pattern
- Network log inspection for confirmation code retrieval
- Explicit waits with
WebDriverWaitandexpected_conditions - UI validation through assertions
All test cases are implemented in test_urban_routes.py and cover:
- Address input validation (origin and destination)
- Comfort fare selection
- Phone number input and verification code handling
- Credit card payment method entry
- Message submission to the driver
- Additional service requests (blanket and tissues)
- Additional service selection (ice cream)
- Taxi request confirmation
📌 The verification code is automatically retrieved using the
retrieve_phone_code()method via browser network logs.
From the project root directory, run the following command in the terminal (Git Bash):
pytest test_urban_routes.py -s