HttpRunner学习2–用例格式和简单使用

HttpRunner中,测试用例支持两种文件格式:YAML 和 JSON。两种格式的用例是完全等价的,对于相同的信息内容,使用 YAML /JSON 得到的测试结果和报告也是一致的。

YAML格式的用例

以某快递接口为例,这里以 YAML 格式进行说明(test_kuaidi.yml):

- config: name: kuaidi100 api test request: base_url: http://www.kuaidi100.com- test: name: query test request: url: /query method: GET params: type: zhongtong postid: xxx validate: - eq: [status_code, 200] - eq: [content.com, "zhongtong"] - eq: [content.nu, "xxx"] - eq: [content.message, "ok"]

说明:

  • config模块,指该测试用例集的全局配置
    name:该测试用例集的名称,必填项
    request:请求全局变量,非必填,可配置公共的参数,如 base_url、headers等

  • test模块,指单个测试用例,可在一个YAML脚本中配置多个test
    name:这个 test 的名称,必填项
    request:这个 test 的请求体,必填项,包括 url、method 等参数,与 requests 库的请求参数一致,如果 config 模块定义有base_url,那么这里将用 base_url 拼接 url 后的路径
    validate:用于断言,验证请求结果与预期是否一致,非必填,eq 表示 equals 的简写,content 表示响应数据,如 content.nu 表示返回的订单号

注:以上只使用了部分参数,更多的参数介绍,大家可以前往?HttpRunner中文使用文档?进行学习

JSON格式的用例

有人可能更倾向于使用JSON格式,那么上面的 test_kuaidi.yml ,其对应的JSON格式用例如下(test_kuaidi.json):

[{ "config": { "name": "kuaidi100 api test", "request": { "base_url": "http://www.kuaidi100.com" } } }, { "test": { "name": "query test", "request": { "url": "/query", "method": "GET", "params": { "type": "zhongtong", "postid": "xxx" } }, "validate": [{ "eq": ["status_code", 200] }, { "eq": ["content.com", "zhongtong"] }, { "eq": ["content.nu", "xxx"] }, { "eq": ["content.message", "ok"] } ] } }]

运行用例

用例编写之后,打开 cmd 窗口,进入到 YAML /JSON 文件所在目录,通过 hrun 命令运行用例。

执行 YAML 格式的用例:hrun test_kuaidi.yml
执行 JSON 格式的用例:hrun test_kuaidi.json

也可以将多个用例放在同一个文件夹下,使用以下命令来运行多个用例:hrun 文件夹名称

查看测试报告

用例运行结束,会在当前目录下自动生成 一个 reports 文件夹,测试报告则在 reports 文件夹里面,在浏览器中打开测试报告。

点击图中的 log ,即可查看详细的日志,包括请求、响应以及断言等信息。

相关文章