É uma cilada, Bino! 🚚
Cilada is a Python 3.11+ CLI that reads an online OpenAPI contract, generates request cases, and runs load tests with Locust.
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -e ".[dev]"Create a commented configuration template:
cilada config initThe command never overwrites an existing file unless --force is supplied. Use
--path path/.cilada.toml to create the file elsewhere. Keep secrets out of
version control and reference environment variables such as
Authorization = "Bearer ${CILADA_TOKEN}".
cilada run
cilada run --openapi-url https://sandbox.example.com/openapi.json
cilada run --dry-run
cilada run --non-interactiveInteractive runs request a missing OpenAPI URL and required headers. The OpenAPI
URL is required to load the contract. Sensitive header names (Authorization,
token, and key) use hidden input. Declining a required header triggers an
explicit confirmation; accepted runs omit that header from requests.
The CLI displays three setup steps. During execution, Locust shows its native
statistics table. Its Name column uses the shortest unique URL suffix and its
Type column shows the HTTP method.
The final summary reports request and failure counts, global minimum/average/
maximum response times, totals by HTTP method, and metrics by HTTP status code.
Each status code includes request count and minimum, average, and maximum response
times. Requests that fail before receiving an HTTP response are listed as
no response.
test.enabled_methodscontrols executed methods.include_pathsandexclude_pathsaccept glob patterns such as/patients/*.cases_per_operationproduces variants from examples, defaults, enums, optional fields, and boundary values.test.failure_status_classesdefaults to[5]; use[4, 5]to also mark 4xx responses as failures.
The default methods are GET, HEAD, and OPTIONS. Enable POST, PUT,
PATCH, or DELETE only in an isolated, authorized environment with disposable
data.
make unit-test
make lint
make typecheckRun make install to install development dependencies, make build to create
distribution artifacts, and make format (or make formatter) to format the
project.
- JSON Schema
$refis not expanded. - Only
application/jsonrequest bodies are generated. - OAuth2 token refresh requires a future hook; static headers work for valid tokens.
Portuguese documentation is available in README_PT.md.