Project Link
GitHub
Project Description
The Urban Routes Web Application Taxi Ordering Automation project was a thorough initiative to develop and implement automated tests for the taxi ordering feature of the Urban Routes web application. The primary goal was to ensure the functionality, reliability, and performance of the taxi booking process using the WebDriverIO framework and JavaScript programming language. Additionally, the project involved using DevTools to identify and collect all necessary web page selectors for test automation.

The Testing Process
- Study the Requirements of Urban Route Taxi Ordering Feature
- Understand the flow and expected functionality of the taxi ordering feature.
- Note any specific rules or constraints described in the requirements.
- Identify Web Page Selectors Using CSS and xPath
- Using your chosen developer tools, locate the necessary selectors on the web page.
- Use CSS and xPath methods to capture these selectors.
- Store the selector information in an exportable module file for reuse.
- Code Tests Based on Requirements
- Develop test cases that mirror the scenarios outlined in the requirements.
- Implement each test case in WebDriverIO testing framework, utilizing modules of web page selectors.
- Run these tests to ensure they work as expected.
- Automated Test Cases Written and Executed
- Setting the address
- Selecting Supportive plan
- Filling in the phone number
- Adding a credit card
- Writing a message for the driver
- Ordering a Blanket and handkerchiefs
- Ordering 2 Ice creams
- The car search modal appears
- Waiting for the driver info to appear in the modal
- Technologies Used
- WebdriverIO: Automation tool for web applications, used for writing and running automated tests.
- Node.js: JavaScript runtime environment that allows the execution of JavaScript on the server side.
- Mocha: JavaScript test framework running on Node.js.
- JavaScript: Primary programming language used to write the test scripts.
- SelectorsHub: Tool to inspect and generate selectors in the browser, used to identify and verify elements during test creation.
- Visual Studio Code: Code editor used to write and debug automated test scripts. This was also used as the terminal for creating project files and executing tests.
- Firefox: Browser used for automated testing of the Urban Routes web application.
- MacOS Sonoma Version 14.4.1: Operating system used to complete Project 8.
- Techniques Used
- End-to-End Testing: Verify the Urban Routes web application functions correctly during the process of a customer ordering a taxi.
- Modular Code Organization: Separate files for page selectors (
page.js), helper functions (helper.js), and test scripts (createAnOrder.e2e.js) for better maintainability and code organization.
- Assertions: Use WebdriverIO's built-in assertion library to validate the expected outcomes of tests.
- Element Interactions: Automate user interactions with web elements including clicks, inputs, and waits.
- Timeouts and Waits: Ensure elements are available before interactions.
- Writing a Bug Report in Jira
- Write a concise, clear title.
- Provide a detailed description, steps to reproduce, and the expected vs. actual outcome.
- Attach any relevant evidence (screenshots, logs, etc.).
- Label the bug, assign it to the right team member, and indicate its severity.