Available Guides
Getting Started
Triaging Failures
Work through a large number of failures systematically — from easy batch fixes to individual investigation.
Optimizing for Maximum Bug Detection
Configure Schemathesis for thorough testing when preparing for production releases or conducting security assessments.
Authentication
Set up authentication for APIs that require credentials. Covers static tokens, config-based token fetch, dynamic refresh, and endpoint-specific auth strategies.
Adding Schema Validation to Existing Tests
Validate API responses against your schema in existing test suites without using Schemathesis for data generation.
Integration
Allure Integration
Export test results as Allure report files with per-operation status, failure steps, and severity labels.
CI/CD Integration
Integrate Schemathesis into automated testing pipelines. Includes GitHub Actions, GitLab CI configurations, and reporting best practices.
Using Schemathesis with Docker
Run Schemathesis without installing Python — covers file schemas, hooks, and reports.
Schema Coverage
Measure schema-level API coverage down to individual keywords using TraceCov.
Testing Python Web Applications
Test Flask, FastAPI, and other Python web apps directly without network overhead.
Customization
Custom Media Types
Generate valid binary content like PDFs or images when your API accepts specialized file formats.
Custom Serializers
Transform test data into non-JSON formats like CSV, MessagePack, or XML for APIs that expect alternative serialization.
Custom Response Deserializers
Decode non-JSON or vendor-specific responses back into Python objects so schema checks work with your API.
Server-Sent Events
Test text/event-stream endpoints - validate each event against itemSchema, handle polymorphic event types, and work with embedded JSON payloads.
GraphQL Custom Scalars
Configure domain-specific scalar types so Schemathesis generates appropriate test data for emails, phone numbers, or custom IDs.
Extending Schemathesis
Customize data generation and validation through hooks, custom checks, and format strategies.
Extending CLI
Add custom command-line options and event handlers for integration with external tools.
Advanced Testing
Continuous Fuzzing
Run st fuzz for extended sessions that keep generating test cases until stopped or a time limit is reached.
Customizing Stateful Testing
Configure authentication, data initialization, and scenario setup for stateful API testing workflows.
Using Hypothesis Strategies
Combine Schemathesis with custom Hypothesis strategies or use Schemathesis strategies in other testing frameworks.
Targeted Testing
Use property-based testing strategies to find performance issues and edge cases by directing test generation toward specific goals.