Subcategories
Packages
A pytest plugin that records and replays HTTP traffic using VCR.py, letting you test code that makes network requests without hitting the network every time.
Install it if you want to replace live API calls or manual mocks with recorded cassettes in pytest.
A pytest plugin that lets you control the order in which tests run using markers, either by index number or by specifying relationships between tests.
Pytest plugin that provides fixtures for testing aiohttp applications with async test support, handling server and client creation plus automatic resource cleanup.
behave is a behavior-driven development (BDD) framework that lets you write test scenarios in plain Gherkin language, backed by Python step implementations, to enable collaboration between developers, QA, and business stakeholders.
Install it if your workflow involves non-technical stakeholders in test design or if you want executable specifications written in natural language.
A pytest plugin that automatically loads environment variables from .env files before test runs, with support for multiple files and optional override of existing system variables.
No—not for new projects.
ansible-lint checks Ansible playbooks and roles for practices that could be improved, flagging issues before deployment.
Install it if you use Ansible and want automated quality checks on your playbooks.
Provides type stubs for the mock library, enabling type checkers like mypy and pyright to validate code that uses mock for unit testing.
Robot Framework is a generic open-source automation framework for acceptance testing, acceptance test-driven development (ATDD), and robotic process automation (RPA) with a simple plain-text syntax.
Adds subTest() support to pytest, allowing unittest-style parameterized test iterations and a subtests fixture for pure pytest tests to report individual failures within a single test function.
However, the abandoned status means no fixes or updates for future pytest or Python releases—use it only if you accept that risk or have a fallback plan.
A pytest plugin that automatically identifies and runs only the tests affected by recent code changes, using dependency tracking to avoid re-running unrelated tests.
However, the aging maintenance status (256 days since last release) means you should verify reliability in your codebase before relying on it in critical CI…
Extends Selenium Python bindings with Appium-specific commands and WebDriver Protocol support for automated mobile app testing on iOS, Android, and other platforms.
Install it if you need to automate mobile app testing; it is the expected tool for this purpose in Python.
Provides base classes and utilities for building database testing frameworks, allowing you to create isolated, temporary database instances for test suites.
Automatically creates and tears down temporary PostgreSQL instances for testing, handling setup and cleanup without manual intervention.
pyfakefs mocks the Python file system modules to run tests against an in-memory fake filesystem instead of the real disk, with no changes required to the code under test.
Install it if your test suite touches the filesystem.
Gcovr processes GCC code coverage data and generates human-readable or machine-parseable coverage reports in multiple formats including HTML, JSON, CSV, XML (Cobertura, Clover, JaCoCo, LCOV, SonarQube), Markdown, and Coveralls.
Install it if you need to measure or report code coverage for GCC-compiled C/C++ projects, especially in CI/CD contexts where structured output formats are required.
A pytest plugin that automatically reruns failing tests up to a configurable number of times, allowing tests that depend on unreliable components to pass without being skipped or removed.
Patchright is an undetected fork of Playwright that automates Chromium-based browsers while evading bot-detection systems. It works as a drop-in replacement for Playwright's sync and async APIs.
However, install it only if standard Playwright fails due to detection—anti-detection techniques are inherently fragile and may break as detection systems evolve.
A pytest plugin that allows tests to continue running and collect multiple assertion failures per test, rather than stopping at the first failed assert.
Parses and evaluates boolean tag expressions (using and, or, not operators) to select Gherkin scenarios and features based on their tags, commonly used by BDD test runners like behave.
Install it if you are building or using a Gherkin-based BDD test runner (such as behave) or need to parse and evaluate tag expressions for test selection.
A pytest plugin that enforces separate timeout limits on the setup, execution, and teardown phases of individual tests using SIGALRM signals on Linux.
A pytest plugin that automatically annotates failed tests in GitHub Actions workflows using GitHub's workflow annotation commands, making test failures visible directly in the Actions UI.
Install it if you run pytest in GitHub Actions and want failures to surface directly in the UI.
pytest-bdd implements Gherkin-based behavior-driven development testing within pytest, allowing you to write feature files and step definitions that unify functional and unit tests.
Install it if you need BDD-style testing, want to document requirements as executable scenarios, or need to bridge technical and non-technical stakeholders.
Cucumber Expressions provides a simpler, more readable alternative to regular expressions for pattern matching in behavior-driven development (BDD) test frameworks, with an intuitive syntax designed for test step definitions.
Install it if you're building or using BDD test frameworks.
Applies evasion techniques to Playwright browser instances to mask automation detection and bypass basic bot-detection methods.
However, do not expect it to defeat sophisticated detection systems—use it as a starting point and be prepared to add custom evasions for harder targets.
A pytest plugin that measures and reports fixture and test function execution times separately, with support for xdist and time-traveling packages.
Install it if you need finer-grained visibility into test performance than pytest's built-in --durations provides, especially for large test suites where fixture…
lit is a portable test runner for executing LLVM and Clang style test suites, summarizing results, and reporting failures with parallel execution support.
However, do not install expecting active maintenance or new features—development is dormant.
Testfixtures provides helpers and mock objects for writing unit and integration tests, including comparison utilities, object replacement, datetime mocking, subprocess testing, logging capture, and file/directory sandboxing.
Install it if your test suite needs readable comparisons, object mocking, datetime control, or subprocess/logging verification.
Finds and returns an unused network port on the local host, available as a Python function or command-line tool for use in test automation and shell scripts.
However, the repository is archived and unmaintained—if you encounter a bug or need a feature, you will need to fork or find an alternative.
Generates random JSON data that conforms to a given JSON schema, for use as test input in property-based testing with Hypothesis.
Emulates Datadog APM agent endpoints to test Datadog APM client libraries, providing trace validation, snapshot testing, and optional proxying to a real Datadog agent.
Install it if you develop or maintain a Datadog APM client library or need to validate trace behavior in CI/CD.
Generates random strings from custom alphabets, predefined character sets, or regular expressions for testing and dummy data creation.
SeleniumBase is a browser automation framework that combines Selenium WebDriver with pytest integration, CDP mode for bot-detection bypass, and tools for web testing, scraping, and crawling.
However, the 60 runtime dependencies are substantial—evaluate whether you need the full feature set or if a lighter alternative suits your use case.
Automate Microsoft Windows GUI interactions by sending mouse and keyboard actions to windows, dialogs, and controls, with support for both Win32 API and MS UI Automation backends.
Provides assertion methods for testing PySpark code with descriptive error messages formatted for easy debugging.
PyAutoGUI programmatically controls the mouse and keyboard across Windows, macOS, and Linux, enabling GUI automation tasks like clicking, typing, and taking screenshots.
Generates arbitrary GraphQL queries matching your schema to use as property-based test cases via Hypothesis, exposing edge cases in your GraphQL backend.
A pytest plugin that integrates performance benchmarking into your test suite, letting you measure code execution time using either a decorator or a fixture for precise control.
MouseInfo displays the XY coordinates and RGB color of the pixel under your mouse cursor in a GUI window, useful for planning GUI automation scripts.
Parses and compiles Gherkin feature files into abstract syntax trees and pickles for behavior-driven development testing frameworks.
Install it if you need to parse or compile Gherkin feature files programmatically or integrate BDD workflows into custom tooling.
A pytest plugin that randomizes the order in which tests run, helping detect test interdependencies and order-dependent failures.
Install it if you want to harden your test suite against hidden interdependencies.