Powerful HTTP Request Tester
Project description
Hyperscript
Hyperscript is a tool for testing HTTP requests with flexible configuration and validation.
Features
- HTTP Methods: Test GET, POST, PUT, and DELETE requests.
- Validation: Check status codes, content types, and body content.
- Conditions: Validate if responses contain specific values, match exact values, or if numeric fields meet criteria (less than, greater than, equal to).
- Concurrency: Run tests in parallel to improve efficiency.
- Reporting: Detailed success and failure messages, with optional verbose output.
Installation
Install with pip:
pip install hyperscript-cli
Configuration
Create a YAML file (config.yaml) for your tests. Example:
global:
url: https://freetestapi.com
run:
- name: Get All Cars
path: /api/v1/cars
expect:
contentType: application/json
status: 200
- name: Get Single Car
path: /api/v1/cars/1
expect:
contentType: application/json
status:
- value: 200
- value: 201
contains:
id: 1
equalTo:
make: Toyota
model: Corolla
lessThan:
price: 30000
greaterThan:
year: 2010
body:
make: Toyota
model: Corolla
color: Silver
Environment Variables
You can use environment variables in your configuration. For example, use {{VARIABLE_NAME}} syntax to reference environment variables.
Set environment variables before running your tests:
export BASE_URL=https://freetestapi.com
export CAR_ID=1
Update config.yaml to use these variables:
global:
url: "{{BASE_URL}}"
run:
- name: Get Single Car
path: /api/v1/cars/{{CAR_ID}}
expect:
contentType: application/json
status:
- value: 200
- value: 201
Usage
Run tests with the hyperscript command:
hyperscript path/to/config.yaml
Command-Line Arguments
-
config_file: Path to the YAML configuration file. Default ishypertest.yml.Example:
hyperscript path/to/config.yaml -
--skip-error: Continue with the next test on error.Example:
hyperscript path/to/config.yaml --skip-error
-
--verbose: Enable detailed logging for more comprehensive output.Example:
hyperscript path/to/config.yaml --verbose
-
--concurrency: Set the number of concurrent tests to run. If not specified, tests will run sequentially.Example:
hyperscript path/to/config.yaml --concurrency 5
Contributing
Fork the repository and submit a pull request with your changes.
License
MIT License. See the LICENSE file.
Contact
For questions, email happer64bit@gmail.com.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hyperscript_cli-1.0.7.tar.gz.
File metadata
- Download URL: hyperscript_cli-1.0.7.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c233c0f136993a3e2c58f61b0bf0983d0e4b984193bf51e7318d85d20ccde79f
|
|
| MD5 |
8ca2e5b2cef252c5468525a160c6c45c
|
|
| BLAKE2b-256 |
7e57e823b46673e1ce12b8d63a567e98c2f5b25437f46c96262e56193fe79845
|
File details
Details for the file hyperscript_cli-1.0.7-py3-none-any.whl.
File metadata
- Download URL: hyperscript_cli-1.0.7-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eb1e2928a0b4d2375ddfe5e9bad7385cbb4cf90cfcffe2e2a304599d760a13f
|
|
| MD5 |
4e1af6eb381796c0b751695182ae3246
|
|
| BLAKE2b-256 |
387e091d1839b90932fbc575effa78860949ff7e375f696eadacad42c7c45164
|