当前位置: 首页 > news >正文

HttpRunner-5-DebugTalk-httprunner-5

什么是 debugtalk

在前面的文章中我们已经介绍过 httprunner 的项目结构。debugtalk.py 是用来表示项目根目录的,同时我们也能在其中自定义一些方法供 apicase 使用。

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]

在测试报告中的体现

step2headers


可以看到通过 debugtalk 中的 get_token 函数获取到的 token 已经成功的传到了 step2 调用的 apiheaders 中。

小结

debugtalk 为测试人员预留了自定义的入口,你应该已经感觉到 HttpRunner 是一个有自己个性且开放的测试框架。对于常用的那些功能和模块做了封装,让你再使用的时候只需要维护一份 json/yaml 就可以。但是对于那些特殊的场景和需求,你可以通过 debugtalk 进行自定义,这样既能满足框架完整性,又能兼顾对接其他系统,不得不说这个设计真的很聪明。

HttpRunner 是一个优秀的国人开发的软件,按道理我们应当充分支持,实际我也是支持的。但是作为测试开发人员,我可能还是会拿它和 RFPytest 等做对比。因为 HttpRunner 的测试执行是通过 unittest 进行调度的,而且其要维护 json/yaml,对部分测试开发同学来说可能不是最优雅的方式,而且每个接口都需要进行封装,当然我们可以使用数据驱动,但是我们个对于每个接口的特殊性我们还得分类再做数据驱动,工作量相对较大。而对于纯代码的 Pytest 则相对较少,因为可以快速封装。RFPytest 的基础上更加易于使用和维护。正式因为如此,所以 HttpRunner 的使用率并不广泛,但不影响它是一款优秀框架的身份。

最后,建议有开发能力和资金的团队可以根据自己业务需求开发专属的测试框架,对于小团队,我们选择一款合适自己的开源测试框架即可。别忘了回馈和支持社区哦。

http://www.jsqmd.com/news/27590/

相关文章:

  • 制造业运营管理新突破:Tita 赋能下的精益生产与协同发展
  • 2025年10月上海装修公司对比榜:五强真实口碑与工期排名
  • 测试开发必看!JVM调优10大技巧,性能瓶颈瞬间搞定
  • Dify入门实战:5分钟搭建你的第一个AI测试用例生成器
  • .NET Core + Docker 部署:Serilog 日志配置与查看全攻略
  • 2025年10月国内环保工程设备厂家前5名推荐榜单
  • 测试同学要求我们产品写用例,然后你们照着测?
  • 光伏支架冲孔机生产厂家:探索高效制造解决方案
  • 2025年光伏支架冲孔机源头厂家推荐榜单:技术革新与市场格局深度解析
  • 2025年克拉玛依壁挂炉公司权威推荐榜单:燃气壁挂炉/万家乐壁挂炉/威能壁挂炉服务商精选
  • weblogic、thinkphp、shiro反序列化漏洞
  • PandaCoder 2.4.3 震撼发布!
  • 2025年油污泥脱水机制造企业权威推荐榜单:洗煤污泥脱水机/带式浓缩污泥脱水机/尾矿污泥脱水机源头厂家精选
  • 2025 年洗墙灯厂家最新推荐榜,技术实力与市场口碑深度解析,严选高品质户外照明品牌防尘洗墙灯/酒店洗墙灯/建筑洗墙灯公司推荐
  • 2025 年加药装置厂家最新推荐榜,技术实力与市场口碑深度解析,精选高适配性优质品牌加药装置/江苏加药装置公司推荐
  • 钢坝闸厂家:创新水工解决方案的领导者
  • 2025年衡水出租救护车公司权威推荐榜单:短途救护车出租/跨省救护车出租/私家救护车出租源头服务商精选
  • 2025 年叠螺机生产厂家最新推荐榜,聚焦企业技术实力与市场口碑深度解析食品厂污泥脱水叠螺机/畜牧养殖污泥处理叠螺机公司推荐
  • 9619
  • 2025年泉州下水疏通机公司权威推荐榜单:管道疏通机/下水道高压疏通机/高压疏通机源头公司精选
  • 2025年10月工业期皮带厂家前五强权威排行榜
  • 2025年10月教育资源好的学习机品牌推荐:销量榜评测报告
  • 《星球大战:克隆人战争》中的片头格言
  • 首页进来的天翼云广告
  • matlab byte 转 bit 函数编写
  • 2025年10月教育资源好的学习机品牌推荐:实力榜全面评测
  • 深入解析:嵌入式硬件——基于IMX6ULL的GPT(通用定时器)实现
  • 2025年10月31日最新权威最新公布工业皮带厂家推荐:素博(上海)工业皮带有限公司
  • 2025年第44周
  • 2025年10月适合初中生的学习机品牌推荐:口碑榜全维度对比指南