HTTPRUNNER2.0框架(三):接口自动化测试DEMO

1、HTTPRUNNER_DEMO说明:

httprunner初始化json格式的接口测试框架Demo:实现了swagger自动生成json测试用例,测试用例文件对比及备份测试用例数据,日志收集器等功能。

2、安装python3运行环境
  • 大家都不建议安装python2,因为已经不再维护了;
  • pip大法安装httprunner,使用规则请参考中文使用文档
3、介绍httprunner框架两个命令
  • httprunner/hrun --startproject your_projectName 快速生成项目结构
    • api:生成的api接口测试用例目录
    • reports:执行测试用例默认的报告目录
    • testcases:测试用例目录
    • testsuites:测试用例套件
    • debugtalk.py:是个热处理文件,默认就叫这个名字,其他名字框架不认
    • .env:环境管理,这个暂没用到
      • 关键信息可以写入这里进行管理,如何在测试用例中引用呢?示例:${ENV(PARAM)}表示调用.env这个环境变量文件中的param参数
  • 使用fiddler/charles抓包工具,导出为har数据文件,执行har2case命令默认生成json格式的测试用例,带上参数-2y生成yaml格式,默认执行顺序:是自上往下执行
    • config 为全局配置项,作用域为整个测试用例
    • test 对应单个测试步骤,作用域仅限于本身
  • hrun可以执行单个测试用例也可以在testcases/testsuites目录执行测试套件
    • hrun testcases\ 执行下面的所有测试用例
4、接口测试中的动态关联实现
接口不是单接口,而是有一定的依赖,也就是存在业务场景关系
  • httprunner支持参数提取,参数引用的功能:extract,在测试用例中加入"extract": [ {“token1”: “content.token1”}]
    • content是默认响应参数,.点后面的才是json对象目录层级
    • token会作为引用变量,$token在下面关联的接口中直接使用
  • httprunner支持实现动态运算逻辑,也就是上文中提到的debugtalk.py文件
# 实例:
import random
def gen_random_num(min_num,max_num):
    return random.randint(min_num,max_num)
    • 在api测试用例下修改数据引用函数:${gen_random_num(1,3)}即可
    • 需要注意的是执行hrun命令需要与debugtalk文件同级目录,不然会提示找不到func:httprunner.exceptions.FunctionNotFound: gen_random_num is not found.
5、再说httprunner接口测试框架中的参数数据驱动
滚来滚去又到了数据驱动模块,人为来添加参数,难免报错,还是测试平台好啊
  • 在 HttpRunner 中,若要采用数据驱动的方式来运行测试用例,需要创建一个文件,对测试用例进行引用,并使用 parameters 关键字定义参数并指定数据源取值方式。
  • 关于这个参数暂时没有调试出来,目前主要使用httprunner框架监控现网单线程接口
  • 详见使用手册!
6、万年不变梗:封装大法
真心讲封装,简单粗暴的讲别人封装好的方法API再次封装一次,自定义能明了的方法。
  • configparser:配置文件读取类库
  • celery:作为系统目录对比文件
  • requests:HTTP协议接口请求类库,当然不止http协议,有webservice
  • logging:日志收集器,需要对脚本进行日志跟踪
7、重点:swagger接口文档自动生成json格式的测试用例
python脚本就是对swagger接口返回的json格式的响应参数进行清洗加入定义的json对象中去
  • 考虑第一次生成json测试用例,然后完善接口测试用例之后,如果接口有变动,再次执行swagger脚本,就会覆盖原已经完善的接口测试用例<相当于白做了>
    • 需要每次执行swagger对api目录下的用例进行备份,并生成html报告

日拱一卒无有尽,功不唐捐终入海!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

职说测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值