An Automatic REST Endpoint Performance Test Generation Suite
Project description
OpenAPI Perf
🤖 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.
Installation
pip install openapi-perf
Usage
Test Generation
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.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file openapi-perf-0.0.5.tar.gz
.
File metadata
- Download URL: openapi-perf-0.0.5.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39d78414fee9a4fb2dd4628ed95eba872c2b03018b95416ac069e68c1a7d2581 |
|
MD5 | 5630e741391e31761df2a7a9af0b7942 |
|
BLAKE2b-256 | 067fad1664c2accf27f34ec32d52920e69f1ca447aad171f6af01ba712d0f2ad |
File details
Details for the file openapi_perf-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: openapi_perf-0.0.5-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f39cfad5f2286963d46563f466ea2f7d99c7eca74871f91b5bf6d57b84566d90 |
|
MD5 | a5820ff7447fb550b0910bb65e5c1755 |
|
BLAKE2b-256 | 051d9a9a7b35e7e97602e50711c688febb04f8646786c5ad900ff669c26c32f1 |