项目简介 Hurl是一个使用 Rust 语言开发的命令行工具,能够运行简单纯文本格式定义的 HTTP 请求。不仅可以用于数据获取,还可用于测试 HTTP 会话。
Hurl基于curl开发,相当于在其基础上添加了一层封装,使得在请求中添加cookie、json等各种数据变得更加便捷。这对新手来说非常友好和人性化。
项目特性
- 链式调用: 支持多个请求的链式调用,便于构建复杂的测试用例。
- 查询和断言: 支持多种查询和断言类型,包括 XPath 和 JSONPath 等,满足不同测试需求。
- 适用场景: 适用于 REST/JSON API、HTML 内容、GraphQL 甚至 SOAP API 等多种场景。
- CI/CD 集成: 方便集成到 CI/CD 中,支持生成文本报告、JUnit 报告和 HTML 报告,便于测试结果分析。
项目安装
- Linux二进制安装:
<code>INSTALL_DIR=/tmp VERSION=4.2.0 curl --silent --location https://github.com/Orange-OpenSource/hurl/releases/download/$VERSION/hurl-$VERSION-x86_64-unknown-linux-gnu.tar.gz | tar xvz -C $INSTALL_DIR export PATH=$INSTALL_DIR/hurl-$VERSION:$PATH</code>
- MacOS:
<code>brew install hurl</code>
- Windows: 在项目 release 页面下载 zip 或 exe 文件进行安装。
项目展示
<code># 简单的GET请求 GET https://example.org # 带请求头的GET请求 GET https://example.org/news User-Agent: Mozilla/5.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Connection: keep-alive # POST请求,带JSON数据 POST https://example.org/api/tests { "id": "456", "evaluate": true }</code>
Hurl在整体功能上与Curl相近,但在其基础上增加了两个主要功能:
- 连接多个请求:通过捕获功能,能够将接收到的数据注入到后续请求中,典型的例子是 CSRF 令牌。
- 测试HTTP响应:通过断言功能,轻松测试响应内容。
更多项目细节功能,请访问项目地址: https://github.com/Orange-OpenSource/hurl
© 版权声明
THE END
暂无评论内容