什么是 debugtalk
在前面的文章中我们已经介绍过 httprunner
的项目结构。debugtalk.py
是用来表示项目根目录的,同时我们也能在其中自定义一些方法供 api
和 case
使用。
debugtalk 用于 hook
详情查看:HttpRunner-03-hook
debugtalk 用于数据传递
前面的 HttpRunner-04-extract
中我们提到了 token
的传递和使用我们也可以通过 debugtalk
实现,这里我们就介绍一下具体的用法。
定义获取 token 的函数
在 debugtalk
中
def get_token():return 'xxxtokenxxx'
在 case 中引用 get_token
如下:在 step2
中的 variables
中以 token: ${get_token()}
的方式进行函数的调用,同时将 token
赋值给变量 token
config:name: "demo testcase"variables:device_sn: "ABC"username: ${ENV(USERNAME)}password: ${ENV(PASSWORD)}base_url: "https://getman.cn/mock"# setup_hooks:# - ${hook_print(setup)}# teardown_hooks:# - ${hook_print(teardown)}teststeps:
-name: demo step 1api: api/demo_api.ymlvariables:user_agent: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'device_sn: $device_sn# extract:# - token: content.namevalidate:- eq: ["status_code", 200]setup_hooks:- ${hook_print(setup)}teardown_hooks:- ${hook_print(teardown)}
-name: demo step 2api: api/demo_api2.ymlvariables:token: ${get_token()}validate:- eq: [reason, OK]
在测试报告中的体现
step2
的 headers
可以看到通过 debugtalk
中的 get_token
函数获取到的 token
已经成功的传到了 step2
调用的 api
的 headers
中。
完
往期推荐
快速入门云计算
常用的自动化测试工具
使用FIO测试磁盘性能
使用sysbench测试CPU性能
使用Stream和MLC测试内存性能
网络性能测试工具 | Netperf
测试理论 | 如何做到测试场景不遗漏?
点亮在看!