Hurl 开源项目教程
HurlChoose the browser on the click of a link项目地址:https://gitcode.com/gh_mirrors/hur/Hurl
项目介绍
Hurl 是一个命令行工具,用于运行和测试 HTTP 请求。它使用简单的纯文本格式定义请求,可以链式请求、捕获值并在响应头和主体上进行查询。Hurl 非常灵活,适用于数据抓取和 HTTP 会话测试。它支持 HTML 内容、REST/SOAP/GraphQL API 以及其他基于 XML/JSON 的 API。
项目快速启动
安装
首先,确保你已经安装了 Hurl。你可以通过以下命令安装:
curl -LO https://github.com/U-C-S/Hurl/releases/download/v1.0.0/hurl_1.0.0_amd64.deb
sudo dpkg -i hurl_1.0.0_amd64.deb
基本使用
创建一个名为 example.hurl
的文件,并添加以下内容:
# 获取主页
GET https://example.org
HTTP 200
[Captures]
csrf_token: xpath "string(//meta[@name='_csrf_token']/@content)"
# 登录
POST https://example.org/login
Content-Type: application/x-www-form-urlencoded
username=admin&password=1234&csrf_token={{csrf_token}}
HTTP 200
运行 Hurl 文件:
hurl example.hurl
应用案例和最佳实践
测试 REST API
假设你有一个 REST API 端点 https://api.example.com/users
,你可以使用 Hurl 进行测试:
# 获取用户列表
GET https://api.example.com/users
HTTP 200
[Asserts]
jsonpath "$.length() > 0"
# 创建新用户
POST https://api.example.com/users
Content-Type: application/json
{
"name": "John Doe",
"email": "john.doe@example.com"
}
HTTP 201
性能测试
你可以使用 Hurl 进行性能测试,确保你的 API 响应时间在可接受范围内:
GET https://api.example.com/heavy-endpoint
HTTP 200
[Asserts]
duration < 1000 # 响应时间小于1秒
典型生态项目
集成 CI/CD
Hurl 可以轻松集成到 CI/CD 流程中,生成文本、JUnit、TAP 和 HTML 报告。以下是一个 GitHub Actions 示例:
name: Hurl Tests
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Hurl
run: |
curl -LO https://github.com/U-C-S/Hurl/releases/download/v1.0.0/hurl_1.0.0_amd64.deb
sudo dpkg -i hurl_1.0.0_amd64.deb
- name: Run Hurl Tests
run: hurl --test --report-junit junit.xml example.hurl
- name: Upload JUnit Report
uses: actions/upload-artifact@v2
with:
name: junit-report
path: junit.xml
通过以上步骤,你可以快速上手 Hurl,并将其应用于各种 HTTP 请求的测试和性能评估中。
HurlChoose the browser on the click of a link项目地址:https://gitcode.com/gh_mirrors/hur/Hurl