A command-line tool that parses .http
files and executes HTTP requests with colored output and detailed reporting.
Features
.http
files--discover
)--verbose
) for detailed request/response information--log
) to save output for analysisUsage
# Run a single .http file
httprunner myfile.http
# Run with verbose output
httprunner myfile.http --verbose
# Run multiple files
httprunner file1.http file2.http
# Discover and run all .http files recursively
httprunner --discover
# Use environment variables
httprunner myfile.http --env production
# Show version information
httprunner --version
.http File Format
# Comments start with #
# Basic GET request
GET https://api.github.com/users/octocat
# Request with headers
GET https://httpbin.org/headers
User-Agent: HttpRunner/1.0
Accept: application/json
# POST request with body
POST https://httpbin.org/post
Content-Type: application/json
{
"name": "test",
"value": 123
}
Variables
Define variables using @VariableName=Value
syntax and reference them with {{variable_name}}
:
@hostname=localhost
@port=8080
GET https://{{hostname}}:{{port}}/api/users
Authorization: Bearer {{token}}
Variables can reference other variables:
@baseUrl=https://{{hostname}}:{{port}}
GET {{baseUrl}}/api/search
Environment Files
Create http-client.env.json
for environment-specific variables:
{
"dev": {
"HostAddress": "https://localhost:44320",
"ApiKey": "dev-api-key-123"
},
"prod": {
"HostAddress": "https://contoso.com",
"ApiKey": "prod-api-key-789"
}
}
Use with: httprunner myfile.http --env dev
Response Assertions
Validate responses with assertion keywords:
GET https://httpbin.org/status/200
EXPECTED_RESPONSE_STATUS 200
EXPECTED_RESPONSE_BODY "success"
EXPECTED_RESPONSE_HEADERS "Content-Type: application/json"
Output Features
You are about to open
Do you wish to proceed?
Thank you for your report. Information you provided will help us investigate further.
There was an error while sending your report. Please try again later.
Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.
Snaps are discoverable and installable from the Snap Store, an app store with an audience of millions.
Snap is available for CentOS 7.6+, and Red Hat Enterprise Linux 7.6+, from the Extra Packages for Enterprise Linux (EPEL) repository. The EPEL repository can be added to your system with the following command:
sudo yum install epel-release
Snap can now be installed as follows:
sudo yum install snapd
Once installed, the systemd unit that manages the main snap communication socket needs to be enabled:
sudo systemctl enable --now snapd.socket
To enable classic snap support, enter the following to create a symbolic link between /var/lib/snapd/snap
and /snap
:
sudo ln -s /var/lib/snapd/snap /snap
Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.
To install HTTP File Runner, simply use the following command:
sudo snap install httprunner
Browse and find snaps from the convenience of your desktop using the snap store snap.
Interested to find out more about snaps? Want to publish your own application? Visit snapcraft.io now.