当前位置: 欣欣网 > 码农

10.5K star!一款适合新手的HTTP测试工具,比curl容易上手!

2024-03-29码农

* 戳上方蓝字「 开源先锋 」关注我

推荐阅读:

大家好,我是开源君!

传统的 HTTP 客户端,比如 curl 和 wget,虽然功能强大,可使用起来就有点麻烦了。需要用户手动设置各种参数,像是请求方式、目标网址、请求头、请求体等等。对于刚入门的小伙伴来说,可能会觉得一头雾水。

今天开源君分享一个更适合新手的项目 - Hurl

项目简介

Hurl 是一个使用 Rust 语言开发的命令行工具,可以运行用简单纯文本格式定义的HTTP请求。既可以用于获取数据,也可以用于测试HTTP会话。

Hurl是基于curl的,相当于在curl上层进行了一层封装,可以很方便的在请求里面添加cooki json等等各种数据,对新手来说非常的友好和人性化。

curl和Hurl代码请求对比

项目特性

  • 链式调用: 支持多个请求的链式调用,方便构建复杂的测试用例。

  • 查询和断言: 支持多种类型的查询和断言,包括 XPath 和 JSONPath 等,可以满足不同测试需求。

  • 适用场景: 适用于 REST/JSON API、HTML 内容、GraphQL 甚至 SOAP API 等多种场景。

  • CI/CD 集成: 方便集成到 CI/CD 中,支持生成文本报告、JUnit 报告和 HTML 报告,方便测试结果分析。

  • 项目安装

    linux二进制安装

    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

    MacOS

    brew install hurl

    windows,在项目release页面进行zip或者exe文件下载安装即可。

    项目展示

    简单的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
    }

    也可以直接使用本地的json文件。

    POST https://example.org/api/tests
    Content-Type: application/json
    file,data.json;

    整体功能上有和Curl相近的地方,但是在curl的基础上,Hurl做了最两个最主要的增强功能:

    1、链接多个请求:通过其捕获功能,可以将接收到的数据注入到后续请求中。在标准的网络会话中,CSRF令牌是典型的示例。

    2、测试HTTP响应:通过其断言功能,可以轻松测试响应内容。

    更多的项目的细节功能,感兴趣的小伙伴自行到项目地址进行查看:

    项目地址:
    https://github.com/Orange-OpenSource/hurl