Basic Configuration for API
The properties below apply to all SHAFT.API (REST Assured) test executions. Place them in your custom.properties file to adjust connectivity, timeouts, and contract validation.
Connection & Timeouts
# Timeout (seconds) for reading data from the server socket
apiSocketTimeout=30
# Timeout (seconds) to establish a TCP connection
apiConnectionTimeout=30
# Timeout (seconds) to acquire a connection from the pool
apiConnectionManagerTimeout=30
Automatic Status Code Check
By default, SHAFT asserts that every response has a 2xx status code. Disable this if you need to test non-2xx responses:
# Set to false if you want to test 4xx / 5xx responses without an automatic failure
automaticallyAssertResponseStatusCode=false
Proxy
Only needed if you are behind a corporate proxy:
com.SHAFT.proxySettings=proxy.corp.example.com:8080
Test Retries
# Retry a failed API test up to N times before marking it failed
retryMaximumNumberOfAttempts=3
Swagger / OpenAPI Contract Validation
Enable automatic schema validation against a Swagger/OpenAPI specification file to ensure your API communication complies with the defined contract.
# Enable/disable Swagger schema validation
swagger.validation.enabled=true
# URL or file path to your Swagger / OpenAPI specification
swagger.validation.url=https://petstore.swagger.io/v2/swagger.json
# Include an end-of-run operation coverage report
openapi.coverage.report.enabled=true
# Optional minimum operation coverage percentage; 0 disables threshold enforcement
openapi.coverage.threshold=80
When validation is enabled, every request and response is validated against the schema automatically. When coverage reporting is enabled, SHAFT also summarizes exercised operations, untested operations, unmatched requests, and validation failures by operation ID at the end of the run.
You can learn more about the different property types and the full list of supported properties by visiting the related pages.