Top 23 Python Testing Projects
-
locust
Scalable user load testing tool written in Python
-
faker
Faker is a Python package that generates fake data for you.
To test a database, first you need some data. So I created a python script and used Faker to create the following CSV files:
-
pytest
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
Latest mention: Hacktoberfest: 69 Beginner-Friendly Projects You Can Contribute To | dev.to | 2020-09-29https://github.com/pytest-dev/pytest A framework makes it easy to write small tests, yet scales to support complex functional testing
-
robotframework
Generic automation framework for acceptance testing and RPA
-
hypothesis
Hypothesis is a powerful, flexible, and easy to use library for property-based testing.
-
pyautogui
A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
-
moto
A library that allows you to easily mock out tests based on AWS infrastructure.
-
fuckitpy
The Python error steamroller.
Fuckit.py intro: FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not. Some code has an error? Fuck it.
-
mimesis
Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.
-
responses
A utility for mocking out the Python Requests library.
-
freezegun
Let your Python tests travel through time
-
factory_boy
A test fixtures replacement for Python
-
splinter
splinter - python test framework for web applications
-
behave
BDD, Python style.
I like bdd and unit tests.
-
fake2db
create custom test databases that are populated with fake data
-
SeleniumBase
✅ 🐍 Python Web UI testing and RPA. 🤖 🚀 Fast • Easy • Reliable.
This format is used by most of the examples in the SeleniumBase examples folder. It's a great starting point for anyone learning SeleniumBase, and it follows good object-oriented programming principles. In this format, BaseCase is imported at the top of a Python file, followed by a Python class inheriting BaseCase. Then, any test method defined in that class automatically gains access to SeleniumBase methods, including the setUp() and tearDown() methods that are automatically called to spin up and spin down web browsers at the beginning and end of test methods. Here's an example of that:
-
httpretty
HTTP client mocking tool for Python - inspired by Fakeweb for Ruby
-
vcrpy
Automatically mock your HTTP interactions to simplify and speed up testing
I don't normally work in Python, so I'm not used to writing mocks. You should be able to mock the client, but if that is too much you might look into something like VCR.py which records underlying HTTP interactions and then plays them back in further tests. (Make sure to redact any API keys from the cassettes though.)
-
sixpack
Sixpack is a language-agnostic a/b-testing framework
-
nose
nose is nicer testing for python
-
pybuilder
Software build automation tool for Python.
-
pyresttest
Python Rest Testing
-
mixer
Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.
Index
What are some of the best open-source Testing projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | locust | 14,880 |
2 | faker | 11,931 |
3 | pytest | 6,920 |
4 | robotframework | 5,447 |
5 | hypothesis | 4,880 |
6 | pyautogui | 4,684 |
7 | moto | 4,251 |
8 | fuckitpy | 3,926 |
9 | mimesis | 3,192 |
10 | responses | 3,041 |
11 | freezegun | 2,712 |
12 | factory_boy | 2,369 |
13 | splinter | 2,339 |
14 | behave | 2,223 |
15 | fake2db | 2,045 |
16 | SeleniumBase | 1,929 |
17 | httpretty | 1,836 |
18 | vcrpy | 1,835 |
19 | sixpack | 1,666 |
20 | nose | 1,325 |
21 | pybuilder | 1,273 |
22 | pyresttest | 1,047 |
23 | mixer | 732 |