Automatically generate thousands of test cases from OpenAPI or GraphQL schemas to find edge-case API bugs.
Schemathesis is a property-based testing tool for web APIs that automatically generates thousands of test cases from OpenAPI or GraphQL schemas. It finds edge-case bugs like 500 errors, schema violations, and validation bypasses that manual testing often misses, helping ensure API reliability before deployment.
API developers, quality assurance engineers, and DevOps teams building and maintaining REST or GraphQL APIs who need automated, comprehensive testing solutions.
Developers choose Schemathesis for its ability to automatically generate intelligent, edge-case tests from API schemas, catching bugs that traditional testing methods miss, and its seamless integration into existing workflows via CLI, Python, and CI/CD.
Catch API bugs before your users do
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages property-based testing to generate thousands of test cases from API schemas, reducing manual effort and increasing coverage, as shown in the demo GIF and installation examples.
Specifically finds bugs like 500 errors, schema violations, and validation bypasses that manual testing often misses, targeting integration failures and stateful bugs.
Supports testing sequences of API operations to uncover bugs that only appear in realistic workflows, using the APIWorkflow class for pytest/unittest integration.
Offers multiple entry points including CLI, Python library, and CI/CD actions like GitHub Action, making it adaptable to various development environments.
Heavily relies on accurate and complete OpenAPI or GraphQL schemas; incomplete or incorrect schemas can lead to ineffective test generation or missed bugs.
Generating and executing thousands of test cases can be time-consuming and resource-intensive, potentially slowing down CI/CD pipelines, as hinted by live benchmarking concerns.
Requires understanding of property-based testing concepts and integration with tools like Hypothesis, which may be unfamiliar to teams used to example-based testing.