Suggest a tool

pytest vs Robot Framework: open-source unit testing and test runners tools compared

Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.

Summary

pytest: Python testing framework with plain assert introspection, test auto-discovery, fixtures and a plugin architecture.

Robot Framework: Python automation framework with a plain text, keyword-based syntax for acceptance testing, ATDD and RPA.

Both are listed under Unit testing and test runners. The table gives repository metrics from the GitHub API with their fetch date, then the documented facts used for every comparison in this category, each linked to the README or docs page it comes from. A cell reads "not documented" when the fact was not found in the project's documentation; that does not mean the feature is absent.

Side by side

pytest and Robot Framework: metrics and documented facts, in the fixed row order used for unit testing and test runners comparisons.
FactpytestRobot Framework
Stars14,521111,9061
Forks3,40012,5661
Contributors1,16812371
Last release2026-06-1912026-09-141
Last commit2026-09-2112026-09-211
Commits in 90 days30012021
LicenseMIT1Apache-2.01
Primary languagePython1Python1
Statusactive1active1
Languages for writing testsPython (3.10+ or PyPy3) source: READMERobot Framework plain text syntax; Python as the primary language for extending it source: README
Test authoring formatCode (Python test_ functions and Test classes with plain assert) source: Docs: Get StartedPlain text keyword-driven test and task files (.robot), extended with libraries source: README
Parallel or distributed executionpytest-xdist plugin distributes tests to CPUs and remote hosts source: Docs: How to install and use pluginsExternal tools, developed as separate projects, for parallel execution source: Docs: Robot Framework User Guide
CI integrationDetects CI through the CI and BUILD_NUMBER (Jenkins) environment variables source: Docs: CI PipelinesxUnit compatible output for CI servers such as Jenkins; Jenkins Robot Framework plugin source: Docs: Robot Framework User Guide
Report formatsTerminal output; JUnit XML (--junit-xml=path) source: Docs: Managing pytest's outputHTML log and report, XML and JSON output files, xUnit compatible XML source: Docs: Robot Framework User Guide
Install methodpip (pip install -U pytest) source: Docs: Get Startedpip (pip install robotframework) source: README

1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.

When each fits

Written from each project's documented scope, not from preference. Neither tool is ranked.

pytest

Fits projects that test Python applications and libraries, from small tests to functional testing; its README describes plain assert statements with detailed assertion introspection. source: README

Robot Framework

Fits projects that automate acceptance testing, acceptance test driven development or robotic process automation; its README describes a plain text syntax extended with generic and custom libraries. source: README

More on these tools

Sources

  1. GitHub REST API: repository, read
  2. GitHub REST API: repository, read
  3. GitHub REST API: contributors, read
  4. GitHub REST API: contributors, read
  5. GitHub REST API: latest release, read
  6. GitHub REST API: latest release, read
  7. GitHub REST API: commits, read
  8. GitHub REST API: commits, read
  9. README, read
  10. README, read
  11. Docs: Get Started, read
  12. Docs: How to install and use plugins, read
  13. Docs: Robot Framework User Guide, read
  14. Docs: CI Pipelines, read
  15. Docs: Managing pytest's output, read

Documented facts collected 2026-09-22. See the methodology for how metrics and facts are gathered.