GuideIntermediate

Test Automation Framework Architecture

Learn to move from "loose test scripts" to a maintainable test automation framework with pytest. This guide covers fixture architecture as the backbone of the framework, the `conftest.py` hierarchy, how to organize the suite into layers (unit/integration) or by feature, custom markers and configuration (`pytest.ini`/`pyproject.toml`) as the framework's contract, a shared utilities and assertions library instead of copy-paste, how to extend pytest with custom plugins and hooks, and data and environment architecture that keeps the framework portable between local and CI. It closes with a capstone project: design and build a real test framework for Reservo, with shared fixtures, markers, a helper library, and per-environment configuration.

64
lessons
8
modules
English · Spanish
available in
Yes
certificate
Free
access
NIEVA

Outcomes

What you'll be able to do

  • Recognize when a test suite stops being "loose scripts" and needs architecture, and the real cost of duplicated setup
  • Design fixture architecture as the backbone of the framework: `conftest.py` hierarchy, scope decisions, and fixture composition
  • Organize the suite into layers (unit/integration) or by feature, with its own `conftest.py` per folder
  • Configure custom markers and `pytest.ini`/`pyproject.toml` as the framework's contract, and select test subsets with `-m`
  • Build a shared utilities and assertions library, avoiding DRY that hides what the test actually verifies
  • Extend pytest with custom plugins and hooks (`pytest_addoption`, fixture hooks, and reporting hooks)
  • Design data and environment architecture (shared builders, local vs. CI configuration) while keeping the framework portable
  • Build a complete test framework for Reservo end to end as a capstone project

Before you start

What you need to bring

It's for you if...

  • Devs who already write individual tests with pytest but whose suite has grown hard to maintain
  • Teams with test setup duplicated across hundreds of files
  • Devs who want to move from a disorganized test folder to their own portable test automation framework

Requirements and materials

  • Basic pytest and TDD knowledge (or the Testing Fundamentals & TDD Guide completed)
  • Python installed (3.10+) and familiarity with the command line
  • Experience writing at least some tests with pytest

Content

The syllabus, module by module

Open any of them to see its lessons.

Common questions

What people usually ask

Start whenever you like

Reviews

What students say

These reviews are from enrolled students who completed at least 50% of the course. We moderate reviews only on content grounds (spam, offensive language, personal data), never for being critical or negative.

No approved reviews yet.

Be the first to share your experience!