Learning test automation efficiently comes down to order. By following the sequence Python → Selenium → pytest → API testing → Page Object Model → CI/CD, you can work toward a production-ready skill level as a QA engineer — even with no prior experience.
But most people get stuck on questions like these:
- Should I learn Selenium or Playwright first?
- When should I add pytest — before or after Selenium?
- At what point does CI/CD become necessary?
This article walks through a structured QA engineer test automation roadmap based on technology stacks actively used in production as of 2026.
Follow the right sequence and you can work toward “handling real client projects as a QA engineer” in 3 to 6 months.
📌 Who this article is for
- Anyone who wants to start test automation but doesn’t know where to begin
- QA engineers considering a shift from manual testing to automation
- Engineers who want to understand the learning order for Selenium, pytest, and Playwright
- QA professionals building a skill set for client projects or freelance work
✅ What you’ll get from this article
- A complete picture of the test automation learning roadmap
- What to learn at each step and which tools to use
- A realistic timeline from beginner to production-level skills
👤 About the author
Written by Yoshi, a QA and test automation engineer with 15+ years of production experience. This roadmap is built on that experience and reflects the skill sets actually required in current Upwork QA projects. Code is publicly available on GitHub: github.com/YOSHITSUGU728/automated-testing-portfolio
When you start learning test automation, the first obstacle is the sheer number of tools. Selenium, Playwright, pytest, Robot Framework, Cypress — choosing between them and figuring out the right order is genuinely confusing.
In practice, the stacks used in production are fairly consistent. This roadmap is designed around 15+ years of hands-on experience and what QA client projects are actually asking for today.
📌 The Roadmap (Key Takeaways)
- Learning order: ① Python → ② Selenium → ③ pytest → ④ API Testing → ⑤ Page Object Model → ⑥ CI/CD
- Why Selenium comes first: job postings and existing client projects still heavily favor Selenium over Playwright
- Estimated timeline: 3–6 months to a production-ready level with consistent daily practice
- Test Automation Roadmap: The Full Picture
- STEP 1: Python Basics — The Foundation of Test Automation
- STEP 2: Selenium — Browser Automation Fundamentals
- STEP 3: pytest — Organizing Your Tests
- STEP 4: API Testing — Expanding Beyond the Browser
- STEP 5: Page Object Model — Maintainable Test Design
- STEP 6: CI/CD — Completing the Automation Picture
- Timeline: From Beginner to Production-Ready
- ⚠️ 4 Common Mistakes to Avoid
- FAQ
- 📋 Summary
Test Automation Roadmap: The Full Picture
Get the overall flow clear before diving into each step.
🗺️ Test Automation Learning Roadmap 2026
STEP 1 | → | 🐍 Python Basics | Variables, functions, classes, file I/O, library management |
STEP 2 | → | 🌐 Selenium | Browser automation, element selection, wait strategies, webdriver-manager |
STEP 3 | → | 🧪 pytest | fixture, parametrize, conftest.py, mark, test design |
STEP 4 | → | 🔌 API Testing | requests, Playwright API Testing, GET/POST/PUT/DELETE, auth |
STEP 5 | → | 🏗️ Page Object Model | Design patterns, maintainability, team workflows, production structure |
STEP 6 | → | ⚙️ CI/CD | GitHub Actions, automated runs, test result notifications, Allure Report |
■ Core foundational skills: Python, Selenium, pytest
■ Design & quality skills: API testing, Page Object Model
■ Automation infrastructure: CI/CD, Allure Report
STEP 1: Python Basics — The Foundation of Test Automation
Test automation is written in Python. Getting the basics solid is the top priority — Selenium, pytest, and Playwright are all Python libraries, so there’s no moving forward without the foundation.
| Topic | Content | Est. time |
|---|---|---|
| Variables, types, operators | str, int, list, dict, bool — basic operations | 3 days |
| Control flow | if, for, while, try/except | 3 days |
| Functions & classes | def, arguments, return values, class basics | 1 week |
| Files & libraries | csv, json, os, managing packages with pip | 1 week |
STEP 2: Selenium — Browser Automation Fundamentals
Selenium has been the industry standard for browser automation since 2004. Job postings and client projects still heavily favor it, making it the right first tool on the path to becoming a test automation engineer.
| Topic | Content | Est. time |
|---|---|---|
| Environment setup | pip install, webdriver-manager, automatic ChromeDriver management | 1 day |
| Core operations | find_element, click, send_keys, get_text | 1 week |
| Wait strategies | WebDriverWait, EC, visibility_of_element_located | 1 week |
| Locator strategy | By.ID, By.CSS_SELECTOR, data-testid — choosing the right one | 1 week |
STEP 3: pytest — Organizing Your Tests
pytest takes your tests from “they run” to “a team can maintain them and run them in CI.” Mastering fixture, parametrize, and mark gives you the structure for a solid test suite.
| Topic | Content | Est. time |
|---|---|---|
| fixture | Setup/teardown, scope, conftest.py | 1 week |
| parametrize | Data-driven testing, separating test data from logic | 3 days |
| mark | smoke, regression, slow — classification and selective runs | 3 days |
STEP 4: API Testing — Expanding Beyond the Browser
Adding API testing alongside E2E testing significantly improves execution speed and stability. “API testing experience” is also a genuine differentiator on client projects and freelance platforms.
| Topic | Content | Est. time |
|---|---|---|
| REST API basics | GET, POST, PUT, DELETE, status codes, JSON | 1 week |
| requests × pytest | Python API test implementation, response validation. Learn requests first, then expand to Playwright API Testing as needed | 1 week |
| Auth & sessions | Bearer Token, Cookie, OAuth handling | 1 week |
STEP 5: Page Object Model — Maintainable Test Design
Page Object Model (POM) centralizes element operations into page-specific classes. It prevents the classic problem of “one selector change breaks every test” as your suite grows.
| Topic | Content | Est. time |
|---|---|---|
| POM concept | Why it’s needed, where it helps most | 2 days |
| Implementing page classes | Centralizing locators and action methods, separating from test code | 1 week |
| Production structure | pages/, tests/, conftest.py — how each piece fits | 1 week |
STEP 6: CI/CD — Completing the Automation Picture
CI/CD automatically runs your tests and notifies the team of results. A “push code → tests run → results reported” pipeline makes you immediately effective on client projects.
| Topic | Content | Est. time |
|---|---|---|
| GitHub Actions basics | YAML syntax, workflows, triggers, jobs | 1 week |
| Automated test runs | On PR, scheduled runs, headless mode, test result notifications | 1 week |
| Allure Report | Visualizing test results, automatic report generation | 1 week |
Timeline: From Beginner to Production-Ready
| Timeline | Skill level | Steps done |
|---|---|---|
| 1 month | Writing basic Selenium tests | STEP 1–2 |
| 2 months | Structured pytest × Selenium test suites | STEP 1–3 |
| 3 months | Combined E2E + API test suites | STEP 1–4 |
| 6 months | POM + CI/CD — client-project ready | STEP 1–6 |
⚠️ 4 Common Mistakes to Avoid
① Starting with Playwright instead of Selenium
Playwright is newer and easier to set up, but job postings and existing client projects still heavily favor Selenium. Learn Selenium first, then add Playwright. Both is the goal — Selenium comes first.
② Waiting until Python feels “complete”
Once variables, functions, and classes make sense, start Selenium. Waiting for Python mastery just delays progress. Start automation now and fill Python gaps as they come up.
③ Reading and watching without writing code
Test automation is a hands-on skill. You need to write code, hit errors, and debug them yourself. All code on this blog is on GitHub — clone it and run it.
④ Designing Page Object Model from day one
POM is for when you have 10–20+ tests and duplication is becoming a problem. Trying to architect it upfront stalls progress. Get simple tests running first.
FAQ
Q. Should I learn Selenium or Playwright first?
Both matter, but as of 2026, Selenium still dominates job postings and client work. Start with Selenium, then expand to Playwright. Playwright has a simpler setup, but the demand for Selenium in legacy projects and freelance platforms remains strong. Knowing both is what makes you effective across a wider range of projects.
Q. Can I learn this from scratch with no prior experience?
Yes, but Python basics come first. Spend 1–2 weeks on a Python intro (freeCodeCamp, Real Python, or similar) then jump into STEP 2. Developers with existing programming experience can typically cover STEP 2 fundamentals within a week.
Q. Is ISTQB certification useful for test automation?
Not required, but a useful differentiator. ISTQB Foundation Level gives you a structured foundation in test design and processes — which directly improves your ability to decide “what to test” when building automated suites. For international client work, ISTQB is often recognized as a quality signal.
Q. Is manual testing experience required?
Helpful but not required. Manual testing experience sharpens your sense of “what needs to be tested,” which leads to better automated test design. Without it, spending some time on test design fundamentals (equivalence partitioning, boundary value analysis) will meaningfully improve the quality of your tests.
Q. What skills do I need for freelance QA projects?
STEP 1–3 (Python, Selenium, pytest) is the minimum to start applying. A GitHub portfolio with actual test code is essential — clients review code quality directly. Use the code from this blog as a starting point for your portfolio.
Q. Can I learn this entirely self-taught?
Yes. All code in this blog is on GitHub — you can work through everything from setup to CI/CD by following along. The key for self-study: write code, don’t just read it. QA communities on Slack, Discord, and Stack Overflow are great when you get stuck.
Q. Does this work on Mac and Windows?
Yes. Code examples in this blog are tested on Mac, Linux, and Windows. One thing to know: CI/CD (GitHub Actions) runs on Linux, so understanding Linux-specific options like --no-sandbox will save you debugging time at STEP 6.
Q. Do I need VS Code?
Not required, but strongly recommended. VS Code with the Python and Pylance extensions gives you code completion, type checking, and debugging that noticeably speeds up learning. PyCharm is a solid alternative. VS Code is free and has the most widely available support resources.
📖 Deep dives for each step
This roadmap is built on 15+ years of QA and test automation engineering experience. It also reflects the skills actually being asked for in current Upwork QA projects. The order you learn in matters more than which specific tools you pick — this roadmap is designed to keep you moving forward without unnecessary detours.
📋 Summary
- Test automation learning order: Python → Selenium → pytest → API Testing → POM → CI/CD
- Start with Selenium — still the most in-demand tool for jobs and client projects
- With 1–2 hours daily of hands-on practice, a production-ready skill level is achievable in 3–6 months
- Common pitfalls: starting with Playwright, waiting to master Python, learning without writing code
- Each step has a detailed companion article — work through them in order
Test automation skills compound over time. Use this roadmap as your guide — start with STEP 1 Python basics and work forward. The companion articles on this blog will support you at every step.

