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

posted @ 2020-07-18 22:57  yimu-yimu  阅读(1103)  评论(0编辑  收藏  举报