Assignment 6 for the Software Quality Assurance and Testing course at Astana IT University. Two tasks in one script:
- Data-driven testing — all test inputs are read from an Excel file via
openpyxl; no values are hardcoded in the test logic. - Cross-browser cloud execution — the Selenium test runs on BrowserStack Remote WebDriver against Chrome and Firefox on Windows 11.
Target site: booking.com — hotel search scenario (destination → dates → guests → results).
- Data-driven testing with
openpyxl— URL, destination, date offsets, and guest counts all come fromtestdata.xlsx - Selenium Remote WebDriver via BrowserStack W3C capabilities (Selenium 4 style)
- Cross-browser execution — Chrome latest and Firefox latest, Windows 11
- Structured step logging — JSON run log persisted per browser per run
- Screenshot capture at each step (home, destination, dates, results, error if failed)
- PDF report generation with
reportlabandmatplotlib(data proof table + screenshots embedded) - Best-effort overlay and cookie-consent handling for real-world sites
assignment6_sqat/
├── run_assignment6.py # Main script: Excel read, BrowserStack run, PDF report
├── testdata.xlsx # Test data (destination, dates, guests, URL)
├── requirements.txt
└── artifacts/ # Generated per run (timestamped folder)
└── YYYYMMDD_HHMMSS/
├── excel_data_proof.png
├── Assignment6_Report.pdf
├── Windows_11_Chrome/
│ ├── 01_home.png
│ ├── 02_destination_filled.png
│ ├── run_log.json
│ └── ...
└── Windows_11_Firefox/
└── ...
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtSet BrowserStack credentials:
export BROWSERSTACK_USERNAME=<your_username>
export BROWSERSTACK_ACCESS_KEY=<your_access_key>Run:
python run_assignment6.pyArtifacts (screenshots, JSON logs, PDF report) are written to artifacts/<timestamp>/.
Adil Ormanov — GitHub