近期了解了HttpRunner这款基于python的测试框架,只需编写一份yaml或者json脚本,即可实现接口自动化。本文记录试用的过程,确实开箱即用,非常方便,功能测试团队可以提供yaml或者json的脚本,由自动化测试团队执行,让两个测试组工作更加紧密。
一、安装httprunner最新版本:pip install httprunner,这里安装的是V2.2.5版本
执行hrun -help查看帮助命令,如下,创建一个httprunner项目:
二、测试准备
首先,准备接口测试需要的http请求和响应的数据,这些数据可以通过抓包工具获取,使用主流的抓包工具即可。
HttpRunner能够将抓取到的HAR格式的文件转换成测试用例yaml或者json文件。以下是用fiddler抓包:
选择File->Export Sessions,选择HAR格式导出:
执行命令,将HAR格式的文件直接转换成测试用例:
har2case XXX.HAR --------------默认转换成json格式
har2case XXX.HAR -2y --------------转换成yaml格式,本文以yaml格式为例子,转换完成如下:
无论是转换成yaml还是json都是一样的,完全等价。大家可根据个人喜好自行选择。
我们只需要知道的是:
1、每个yaml/json文件就是一个测试用例(testcase)
2、每个测试用例为一个list of dict结构,其中可能包含全局配置项(config)和若干个测试步骤(test)
3、config 为全局配置项,作用域为整个测试用例(yaml/json文件)
4、test 对应单个测试步骤,作用域仅限于本身
执行测试用例时,我们只需执行:hrun 测试用例路径,如下:
执行成功后,会在report目录下生成测试报告,如下:
报告结构清晰,可读性强。非常简单的一个框架,上手速度极快。