🤖 Automatic OpenAPI Performance Testing 🤖
Documentation: https://openapi-perf.awtkns.com
Source Code: https://github.com/awtkns/openapi-perf
Continous Integration: https://github.com/awtkns/openapi-perf-action
This project will make use of the OpenAPI schema to build an automated REST API performance testing and benchmarking tool. OpenAPI defines an interface for REST APIs allowing automated generation of an API schema which provides insights on the API's usage and expected input and response values. Using the OpenAPI schema we hope automatically generate tests covering all endpoints. We will use these generated tests to both test for endpoint correctness and to gather relevant performance metrics such as response time. We will finally generate an informative report on endpoint performance and correctness, allowing developers to quickly determine potentially problematic endpoints and endpoints that would benefit most from optimization.
pip install openapi-perf
This will create generate property-based performance tests for an endpoint and save the test schema to your results directory.
from openapi_perf import OpenAPIPerf
op = OpenAPIPerf(
endpoint_url = "http://localhost:5000",
results_dir = "/path/to/results/directory"
)
You can also load existing tests from a test schema file like this:
op = OpenAPIPerf(
test_schema_path = "path/to/test_schema.json"
)
Schema files can be modified to configure test execution.
To run these tests, use
op.run()
This will generate a report pdf file in your results directory
For detailed usage, refer to our docs