Skip to main content

Powerful HTTP Request Tester

Project description

Hyperscript

Hyperscript is a tool for testing HTTP requests with flexible configuration and validation.

HyperScript - Powerful HTTP Request Tester ⌚ | Product Hunt

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 is hypertest.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

hyperscript_cli-1.0.7.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hyperscript_cli-1.0.7-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

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

Hashes for hyperscript_cli-1.0.7.tar.gz
Algorithm Hash digest
SHA256 c233c0f136993a3e2c58f61b0bf0983d0e4b984193bf51e7318d85d20ccde79f
MD5 8ca2e5b2cef252c5468525a160c6c45c
BLAKE2b-256 7e57e823b46673e1ce12b8d63a567e98c2f5b25437f46c96262e56193fe79845

See more details on using hashes here.

File details

Details for the file hyperscript_cli-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for hyperscript_cli-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0eb1e2928a0b4d2375ddfe5e9bad7385cbb4cf90cfcffe2e2a304599d760a13f
MD5 4e1af6eb381796c0b751695182ae3246
BLAKE2b-256 387e091d1839b90932fbc575effa78860949ff7e375f696eadacad42c7c45164

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page