Python Testing

Open-source Python projects categorized as Testing | Edit details

Top 23 Python Testing Projects

  • GitHub repo locust

    Scalable user load testing tool written in Python

    Project mention: Kubernetes Policy Enforcement: OPA vs jsPolicy | reddit.com/r/kubernetes | 2022-01-05

    I personally like the idea of using code over custom language in the software tooling. When I needed to jump-start performance testing I picked Locust over other tools because I didn't have to learn any new syntax, it was just straightforward Python, even though I barely know Python. And jsPolicy allows for the same approach, but in the k8s policy space.

  • GitHub repo faker

    Faker is a Python package that generates fake data for you. (by joke2k)

    Project mention: How to create a 1M record table with a single query | news.ycombinator.com | 2021-03-24

    Creating realistic fake data is useful in lower environments and for load testing. Outside of SQL I like faker: https://github.com/joke2k/faker

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • GitHub repo httpbin

    HTTP Request & Response Service, written in Python + Flask.

    Project mention: Use dio in Flutter / Dart | dev.to | 2021-12-16

    import 'package:dio/dio.dart'; void main() async { BaseOptions options = BaseOptions( baseUrl: "https://httpbin.org", connectTimeout: 3000, receiveTimeout: 3000, ); Dio dio = Dio(options); try { Response resp = await dio.get( "/get", queryParameters: {"search": "dio"}, ); print("Response:"); print("Status:\n${resp.statusCode}"); print("Header:\n${resp.headers}"); print("Data:\n${resp.data}"); } catch (e) { print("Exception: $e"); } }

  • GitHub repo pytest

    The pytest framework makes it easy to write small tests, yet scales to support complex functional testing

    Project mention: pytest 유튜브 영상 추천 | dev.to | 2022-01-02
  • GitHub repo Robot Framework

    Generic automation framework for acceptance testing and RPA

    Project mention: YAML: It's Time to Move On | news.ycombinator.com | 2021-11-14

    I give you Robot, originally created at Nokia.

    https://robotframework.org

    Back in 2006, the testing was written in HTML tables, no idea how it manage to still be around.

  • GitHub repo PyAutoGUI

    A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.

    Project mention: Will python help me? | reddit.com/r/learnpython | 2021-12-08

    Options, in increasing levels of complexity: * easiest, use Beautiful Soup * add Selenium to above * OR use PyAutoGUI to control your PC and do the work for you

  • GitHub repo hypothesis

    Hypothesis is a powerful, flexible, and easy to use library for property-based testing.

    Project mention: Internship in software testing - is it worth it? | reddit.com/r/cscareerquestionsEU | 2021-12-06

    My internship and current job revolved automated testing and it's super interesting, although I've been in the very unique position to utilise property-based techniques. I defo wouldn't look down on automated testing roles, but would say you should be cautious about manual.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • GitHub repo Moto

    A library that allows you to easily mock out tests based on AWS infrastructure.

    Project mention: Having trouble with botocore stubber on put actions | reddit.com/r/aws | 2022-01-15
  • GitHub repo FuckIt.py

    The Python error steamroller.

    Project mention: /* *T H A N O S* */ | reddit.com/r/ProgrammerHumor | 2022-01-09

    You can do that on demand with FuckitJS or FuckIt.py

  • GitHub repo Mimesis

    Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.

    Project mention: Mimesis is a fake data generator that can be used in Data Science for generating dummy datasets. | reddit.com/r/datascience | 2021-04-03
  • GitHub repo responses

    A utility for mocking out the Python Requests library.

    Project mention: Am new to Testing, Should I test Functions that Return a Queryset? | reddit.com/r/django | 2021-05-11

    The repsonses library is designed for mocking requests during tests https://github.com/getsentry/responses

  • GitHub repo molecule

    Molecule aids in the development and testing of Ansible roles

    Project mention: Does anyone use HashiCorp Vagrant anymore? | reddit.com/r/devops | 2021-08-08

    I’m assuming you are using Molecule: https://github.com/ansible-community/molecule

  • GitHub repo freezegun

    Let your Python tests travel through time

    Project mention: Microsoft Exchange stops passing mail due to bug on 1/1/22 | news.ycombinator.com | 2022-01-01
  • GitHub repo factory_boy

    A test fixtures replacement for Python

  • GitHub repo manticore

    Symbolic execution tool

    Project mention: Daily General Discussion - October 19, 2021 | reddit.com/r/ethfinance | 2021-10-19

    Trail of Bits releases smart contract analysis tool Manticore v0.1.5 with EVM bytecode support.

  • GitHub repo SeleniumBase

    A Python framework that inspires developers to become better test automation engineers. 🧠💡

    Project mention: What to learn for QA / testing automation with Python ? | reddit.com/r/learnpython | 2021-08-29

    i haven't. it's the first time i heard about it actually. on our project, it's selenium with seleniumbase

  • GitHub repo tox

    Command line driven CI frontend and development task automation tool. (by tox-dev)

  • GitHub repo Behave

    BDD, Python style.

    Project mention: Automated Testing in Python with pytest, tox, and GitHub Actions | reddit.com/r/Python | 2021-10-18

    Don't forget behaviour testing too! Something like Behave! to test that high-level behaviour :3

  • GitHub repo splinter

    splinter - python test framework for web applications

  • GitHub repo VCR.py

    Automatically mock your HTTP interactions to simplify and speed up testing

    Project mention: 3 Ways to Unit Test REST APIs in Python | dev.to | 2021-07-22

    Now it’s finally the time to discuss our last option. I have only found about it quite recently, frankly. I’ve been using mocks for a long time and always had some problem with them. VCR.py is a library that simplifies a lot the tests that make HTTP requests.

  • GitHub repo fake2db

    create custom test databases that are populated with fake data

  • GitHub repo httpretty

    Intercept HTTP requests at the Python socket level. Fakes the whole socket module (by gabrielfalcao)

  • GitHub repo abseil-py

    Abseil Common Libraries (Python)

    Project mention: Reflecting on the Shake Build System | news.ycombinator.com | 2021-11-06

    > Sounds a lot like Nix's philosophy of totally sandboxed/declarative package builds

    They are similar but I think of Nix as being closer to Dockerfiles than to Bazel. Nix describes how to compose and build things, of multiple build systems, in a unixy environment. It sandboxes things and runs commands in those things like `make install` and then pulls the files those commands generates out and uses them for other things. This is very close to how people use Dockerfiles but very different to how someone would go about using Bazel. Bazel's main selling points are that it allows you to describe how your software is built by using application level concepts. Bazel has `library`, `binary`, and `test`. Regardless of what the language we're talking about any two programmers will probably know what these high level concepts mean and, due to conventions in rules, any developer - regardless if they have experience in the language in question - can understand what is going on.

    Bazel is also much finer grained than something like Nix. For example, the NixPkg for abseil-py is defined here: https://github.com/NixOS/nixpkgs/blob/nixos-21.05/pkgs/devel...

    The BUILD files for abseil-py are found in the repo. Something you'll notice is that there isn't a single build target for all of abseil-py. Instead, each python module or "library" has it's own target: https://github.com/abseil/abseil-py/blob/master/absl/BUILD#L...

    This allows for some cool stuff when deploying your software. Suppose you import just the flags module from this repo. That means that your built `py_binary` artifact will only contain just the modules that you're actually importing. You can also see the dependancy graph for all of your source code by talking to Bazel's query API. Find a bug in a library? You can now instantly query every single `binary` that those source files went into without false positives. That's just an example of something you may want to do but really you now have a way to query the dep graph for all languages and tools so the sky is the limit.

    > instead of needing a monorepo with every piece of software you can just grab a reproducible build from nixpkgs

    You also don't need a monorepo for Bazel to work. You can use `http_archive` or `git_repository` to load specific WORKSPACEs. For example: https://abseil.io/docs/cpp/quickstart#set-up-a-bazel-workspa...

    Also bzlmod is being worked on (a package manager that automates this stuff). This also has provisions for running all of the `_test` targets on deps after they're compiled by your toolchain and on your hardware. This validates that all importing and compiling worked as expected (which most build systems can't accommodate).

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-15.

Python Testing related posts

Index

What are some of the best open-source Testing projects in Python? This list will help you:

Project Stars
1 locust 17,930
2 faker 13,502
3 httpbin 10,483
4 pytest 8,145
5 Robot Framework 6,597
6 PyAutoGUI 6,079
7 hypothesis 5,604
8 Moto 5,488
9 FuckIt.py 4,252
10 Mimesis 3,448
11 responses 3,426
12 molecule 3,269
13 freezegun 3,134
14 factory_boy 2,727
15 manticore 2,628
16 SeleniumBase 2,572
17 tox 2,555
18 Behave 2,494
19 splinter 2,479
20 VCR.py 2,160
21 fake2db 2,116
22 httpretty 1,933
23 abseil-py 1,798
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.
github.com/nanovms