使用:
- 用网络抓包工具,如 Fiddler/Charles,对接口抓包并导出为 HAR 格式的文件;
- 在命令行终端运行 “har2case file/example.har” ,将对 .har 文件进行转换,得到 HttpRunner 的测试用例文件(JSON 格式/YAML 格式);
- 在命令行终端运行 “hrun file7example.json” ,调试运行测试用例文件;
- 查看生成的测试报告;
增强脚本、优化测试用例:
- 调整校验器(即验证点/断言)。例如去掉 token 这样动态变化的值 。
- 参数关联(参数提取、参数引用)。从先前请求的响应结果中提取参数( extract ),在后续的请求中引用该参数( $var )。
- base_url(全局配置模块)。把各个测试步骤中的 URL 拆分为 host+path,host 作为 base_url 放到全局配置模块 config 中,测试步骤中的 URL 只保留 path。
- 变量。对于多次出现的参数,可定义为变量( variables ),需要的地方引用即可( $var )。注:在 config 中定义的变量是全局变量;在 test 中定义的为局部变量,作用域仅为当前的测试步骤 teststep。
- 实现动态运算逻辑(热加载的插件机制:debugtalk.py )。例如请求中 sign 字段是根据 headers 中的各个字段拼接后生成得到的 MD5 值,如果存在动态变化的字段,每次测试 sign 都需要重新计算,否则就会出现签名校验失败的问题。然而,HttpRunner 的测试用例都是采用 YAML/JSON 格式进行描述的,在文本格式中如何执行代码运算呢?HttpRunner 的实现方式为,支持热加载的插件机制(
debugtalk.py
),可以在 YAML/JSON 中调用 Python 函数( ${func($var)} )。 - 参数化。用一个单独的文件存放数据,对测试用例进行引用,并使用
parameters
关键字定义参数并指定数据源取值方式。