httprunner 3.X初学习(录制用例及多种运行方式)
接口自动化HttpRunner安装
HttpRunner是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
https://testerhome.com/topics/19966
httprunner相当于整合了其他开源项目
安装后,系统中会新增 4 个命令:
- httprunner: 核心命令
- hrun:httprunner 的缩写,功能与 httprunner 完全相同
- hmake:httprunner make的别名,用于将YAML/JSON测试用例转换为pytest文件
- har2case:辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例
新建项目区别:
利用脚手架工具快速创建项目
脚手架工具概念
可以快速构建项目的必要目录,不必自己一个一个的配置与搭建,只需要执行一些命令即可。
【创建项目】
进入项目路径,终端执行以下指令,创建项目
hrun --startproject httprunner_demo # 2.x版本 httprunner startproject httprunner_demo # 3.x版本
hrp startproject httprunner_demo # 4.x版本
- debugtalk.py 放置在项目根目录下(借鉴了pytest的conftest文件的设计)
- .env 放置在项目根目录下,可以用于存放一些环境变量
- reports 文件夹:存储 HTML 测试报告
- testcases 用于存放测试用例
- har 可以存放录制导出的.har文件
【运行项目】
终端执行以下指令
hrun httprunner_demo
------------------------------------------
录制/运行测试用例
【录制测试用例】
对接口信息进行抓包,生成.har文件,比如命名为baidu_home.har
mac : 抓包工具charles导出接口数据
windows: Fiddler导出接口抓包数据
转化为测试用例
在项目的har文件中,终端输入以下指令
har2case baidu_home.har # 默认生成json格式 har2case baidu_home.har -2y # 生成yaml格式
【运行测试用例】
yaml json格式校验
(当运行YAML/JSON,其实httprunner会先把他们转换称pytest格式,再去运行)
hrun baidu_home.json
运行后,生成*_test.py文件
测试用例详解
【运行YAML/JSON格式的case】
当转换har文件的时候,同级文件夹下,就会生成pytest文件,文件名称的末尾会有_test
当运行YAML/JSON,其实httprunner会先把他们转换称pytest格式,再去运行
用httprunner 3.X版本的话,写case最好直接用pytest格式
【运行pytest格式的case】
对pytest格式来说,用hrun或者pytest命令来运行都是可以的。
因为hrun只是封装了pytest,所以用pytest运行所有的参数,同样可以在hrun后面加
pytest格式用例如下:
法一: main()方法里在类的后面调用test_start()方法即可
法二: 命令行的话,直接在hrun后面加上case的路径,就可以运行了
命令行运行单个case用例
hrun mayhttprunner\*\*_test.py
命令行运行多个case用例
hrun mayhttprunner\*\*_test.py mayhttprunner\*\**_test.py
来源:https://www.cnblogs.com/pingguo-softwaretesting/p/13204045.html