A comprehensive curated list of Python test automation frameworks, tools, libraries, and software.
Sponsored by SDC Labs 🚀
Have questions, issues, or ideas? Join the conversation at Gitter Chat 💬
- xUnit frameworks
- TDD \ ATDD \ BDD
- Test Data manipulation
- Code Analysis
- Web UI test automation
- Mobile test automation
- Windows UI test automation
- Unix \ Linux UI test automation
- MacOS UI test automation
- REST API Testing
- Virtual environments
- Performance & stress & load
- Security checking
- Continuous Integration
- Reporting
- Documentation generation
- Editors, IDE and consoles
- Useful libs
- Resources
- unittest: Distributed unit testing in Python.
- unittest2: Backport of unittest features for Python 2.7+.
- pytest: Mature Python testing tool with comprehensive features.
- plugincompat: Test execution and compatibility checks for pytest plugins.
- test-junkie: Highly configurable modern testing framework.
- nosetests: Improved testing for Python.
- slash: Python-based testing framework.
- lemoncheesecake: Functional testing framework with rich reporting.
- proboscis: Extends Python’s unittest with TestNG features.
- grail: Library for test script creation based on steps.
- testify: Enhanced test fixture setup, split test suites, fancy color test runner.
- trial: Extension of unittest for asynchronous tests.
- subunit: Support for running unittest test cases/suites in a separate process.
- testresources: Manages 'resources' needed by multiple tests.
- testtools: Useful unittest extensions derived from custom extensions.
- Sancho: Test runner providing output for failing tests.
- zope.testing: Powerful test runner with post-mortem debugging.
- pythoscope: Tool to generate unit tests for legacy Python systems.
- testlib: More power to standard unittest with extra methods and features.
- dutest: Object-oriented interface for unittest test cases from doctests.
- green: Clean, colorful test runner for Python unit tests.
- ddt: Data-driven tests with unittest.
- pytractor: Extension to Selenium for testing Angular.js applications.
- stestr: Parallel Python test runner built around subunit.
- pytest-django: Test Django projects with pytest.
- pytest-asyncio: Test asyncio code with pytest.
- behave: BDD tool.
- lettuce: BDD tool.
- lettuce-tools: Tools extending lettuce's features.
- contexts: Descriptive testing for Python.
- mamba: Testing tool for Behavior Driven Development.
- pyvows: Asynchronous behavior-driven development for Python.
- pytest-bdd: BDD library for py.test.
- pytest-play: ATDD plugin automating actions, assertions, and test metrics via YAML files.
- robotframework: Generic test automation framework.
- awesome-robotframework: Curated resources and libraries for Robot Framework.
- radish-bdd: BDD testing tool with supplements.
- pyshould: Should style asserts based on pyhamcrest.
- pyhamcrest: Hamcrest matchers for Python.
- sure: Flexible assertions for Python.
- assertpy: Simple assertions library for unit testing in Python.