Assignment 2 for the Software Quality Assurance and Testing course at Astana IT University. Browser-driven end-to-end automation with Selenium WebDriver covering two demo applications:
| # | Site | Flow |
|---|---|---|
| 1 | practicetestautomation.com | Login → assert success page → Logout |
| 2 | blazedemo.com | Select Boston → London → choose first flight → fill purchase form → assert confirmation |
- Selenium WebDriver 4 setup with Selenium Manager / webdriver-manager (no hardcoded driver path)
- Locating elements by ID, CSS selector, name, and link text
- Filling forms,
Selectdropdowns, clicking buttons - Explicit waits with
WebDriverWaitandexpected_conditions - Screenshot capture at each key step saved to
screenshots/ - Assertions on page headings and URL state
pytestfixture for browser lifecycle (setup / teardown)
Assignment_2_SQAT/
├── test_sqat.py # Selenium test suite (pytest)
├── requirements.txt # Python dependencies
└── screenshots/ # Evidence screenshots (committed + regenerated on each run)
├── login_success.png
├── logout_success.png
├── flight_search.png
├── search_test.png
└── flight_booking_success.png
- Python 3.9+
- Google Chrome (or Chromium) installed — ChromeDriver is downloaded automatically
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtpytest test_sqat.py -vTests run headless by default (--headless=new). To watch Chrome open, remove
the --headless=new argument from the driver fixture in test_sqat.py.
test_sqat.py::TestLogin::test_successful_login PASSED
test_sqat.py::TestLogin::test_logout PASSED
test_sqat.py::TestFlightBooking::test_search_flights PASSED
test_sqat.py::TestFlightBooking::test_choose_flight PASSED
test_sqat.py::TestFlightBooking::test_fill_and_purchase PASSED
Screenshots are saved/overwritten in screenshots/ after each run.
Adil Ormanov — GitHub