Python for SDETs
This course turns Python basics into a real test-automation skill set. You’ll write
genuine tests — REST API tests with requests, UI tests with Playwright — run them with
pytest, and wire them into CI, all against a real web app you run on your own
machine.
It’s free, in English and Azerbaijani, and built for the people moving into automation: aspiring and junior SDETs, and manual testers taking the step to code. It’s the advanced half of this site’s Python track and the Python-language sibling of the JavaScript Playwright course — same skills, same practice app, different language.
Prefer Azerbaijani? Read this course in Azerbaijani →
The promise
Section titled “The promise”By the end you can write real Python tests — API and UI — against a real app, with pytest and CI. Not toy snippets: a structured suite you could show in an interview or drop into a job.
Prerequisites
Section titled “Prerequisites”- Python basics — variables,
if, loops, functions, lists/dicts. New to Python? Start with Python Fundamentals (free, runs in your browser) and come back. - Comfort in the terminal — running commands,
cd, installing packages. The Command line & npm reference covers the essentials. - No prior pytest, requests, or Playwright experience needed — we build each from zero.
How the course works: Learn → Build
Section titled “How the course works: Learn → Build”Unlike Python Fundamentals, which runs in your browser, this course uses a real local setup — you install Python, pytest, and the libraries, and run tests from your terminal, exactly like on the job.
- Learn — each module introduces a concept with explanations and runnable examples.
- Build — you apply it to TestMarket Lab,
a real web app (login, products, cart, checkout, admin) you clone and run locally with
npm install && npm start.
TestMarket Lab — your training ground
Section titled “TestMarket Lab — your training ground”TestMarket Lab is a small but realistic shop with two surfaces you’ll test:
- A REST API under
/api—auth,products,orders,users,cart, plus aresetendpoint built for test setup/teardown. Perfect for therequestsmodules. - A web UI with
data-testidhooks throughout — perfect for the Playwright modules.
It’s the same app the JavaScript course tests, so if you ever work across both languages, the endpoints and selectors carry over.
Module plan
Section titled “Module plan”| # | Title | Status |
|---|---|---|
| 0 | Setup & first test | Available |
| 1 | pytest fundamentals | Available |
| 2 | Fixtures & parametrize | Available |
| 3 | API testing with requests | Available |
| 4 | Negative & validation testing | Available |
| 5 | Test data setup & teardown | Available |
| 6 | UI automation — Playwright for Python | Available |
| 7 | Page Object Model in Python | Available |
| 8 | Data-driven tests | Available |
| 9 | Reporting & suite structure | Available |
| 10 | CI with GitHub Actions | Available |
| 11 | Capstone — full API + UI suite | Available |
| 12 | Database verification | Available |
All twelve modules are live. Module 12 is a senior extension you can bolt onto the capstone: verifying the persisted side effect of an action, not just the response.
Ready? Start with Module 0 →
Just need the basics first? Begin with Python Fundamentals →.