Assignments 7 and 8 for the Software Quality Assurance and Testing course at Astana IT University.
Implements Behavior-Driven Development (BDD) using the behave framework with Gherkin feature files.
Tests automate a hotel search flow on booking.com — destination entry,
date selection, and results verification.
- BDD with Behave —
.featurefiles written in Gherkin (Given/When/Then) - Tag-based test filtering —
@smokeand@regressionscenario tags - Scenario parametrization — destination city passed as a step argument (
"Astana","Almaty") - Step definitions —
@given,@when,@thendecorators mapping Gherkin steps to Selenium actions - Environment hooks —
after_scenarioteardown inenvironment.pyto quit the browser - Overlay and cookie handling — best-effort dismissal of cookie banners and intercept overlays on real-world sites
- Screenshot capture at each test step as visual evidence
- Date calculation for dynamic check-in/check-out offsets
assignment7_8_sqat/
├── features/
│ ├── booking_search.feature # Smoke + regression hotel-search scenarios
│ ├── booking_dates.feature # Date selection scenarios
│ ├── environment.py # Behave hooks (after_scenario driver teardown)
│ └── steps/
│ └── booking_steps.py # Step definitions (Selenium + helper functions)
├── 01_home.png # Step screenshots (committed as run evidence)
├── 02_destination.png
├── 03_dates.png
├── 04_after_search.png
└── 05_results.png
python3 -m venv .venv
source .venv/bin/activate
pip install behave seleniumRun all scenarios:
behaveRun only smoke tests:
behave --tags=smokeRun only regression tests:
behave --tags=regressionRequires Chrome and ChromeDriver available on
PATH.
Adil Ormanov — GitHub