HttpRunner接口自动化测试框架搭建到实现

一、环境搭建

1、安装httprunner

pip install httprunner

2、版本区别

A、httprunner3.x以上的版本还需要安装har3case

pip install har3case

B、httprunner4.0以上版本还需要安装hrp命令,否则无法自动创建测试脚手架

在github 上下载安装包 https://github.com/httprunner/httprunner/releases

HttpRunner接口自动化测试框架搭建到实现_第1张图片

 下载完成后解压到电脑的任意目录,将路径添加到环境变量

HttpRunner接口自动化测试框架搭建到实现_第2张图片

打开cmd验证hrp命令是否生效

HttpRunner接口自动化测试框架搭建到实现_第3张图片

3、验证安装成功,输入一下命令,有版本号输入则安装成功

httprunner -V
har2case -V

HttpRunner接口自动化测试框架搭建到实现_第4张图片

4、生成脚手架

V4版本生成脚手架命令:hrp startproject 项目名称

V3版本生成脚手架命令:httprunner startproject 项目名称

下面的应用示例均是以V3版本演示

二、应用实例

1、测试用例准备

将fiddler或者F12抓包的接口文件.har格式转化成.yaml/.json/pytest用例格式

1).yaml

首先将.har格式的文件放入项目下,这个我们放入新建的demo文件夹下

HttpRunner接口自动化测试框架搭建到实现_第5张图片

进入demo文件夹,这里一定要注意不要在根文件夹目录下执行转换格式的命令 ,会提示找不到.har文件

HttpRunner接口自动化测试框架搭建到实现_第6张图片

HttpRunner接口自动化测试框架搭建到实现_第7张图片

 先进入demo文件夹下再去执行转换命令,转换.yaml格式命令:har2case xxx.har -2y,此时发现已经转换成了yml文件格式

2).json

与上面同样的步骤,执行的命令不同,转换json格式命令:har2case xxx.har -2j

3)python文件.py

与上面同样的步骤,执行的命令不同,转换.py格式命令:har2case xxx.har 

 2、测试用例格式

这里介绍.yaml文件的格式

config:

每个测试用例也就是.yaml文件只能有一个config用于存储测试用例的公共配置部分,config下有variables全局变量,base_url公共请求地址,export导出全局环境变量,可用于测试用例间参数的传递

        name:测试用例的名称,将在log和报告中展示。

        base_url(可选):.yaml下的公共host

        variables(可选的):定义的全局变量,作用域为整个用例。每个测试步骤都可以引用config variables。也就是说,step variables 优先级高于 config variables。引用变量时,采用$变量名引用,如实例的账号名和密码,就是通过变量传入的。

        export(可选的):指定输出的测试用例变量。将每个测试用例看作一个黑盒,config variables是输入变量,config export是输出变量。

teststeps:

        name:单个测试步骤的名称,有几个name就是代表几个接口

        testcase:可以理解引用其他测试用例中export的全局变量

        request:请求内容

                heards:请求头

                json:请求体

                method:post/get...

                url:请求

        validate:断言

HttpRunner接口自动化测试框架搭建到实现_第8张图片 HttpRunner接口自动化测试框架搭建到实现_第9张图片

 3、运行测试用例

运行测试单个测试用例命令:hrun ./testcases/xxx.yml

批量运行testceses下多个测试用例:hrun ./testcases/

4、单个测试用例下接口关联

单个测试用例下有多个api需要关联时,采用extract关键字进行提取,如有两个api在同一个测试用例中,第一个api为get_uuid,第二个api为login,login接口请求体需要传入get_uuid接口中返回体中的uuid

HttpRunner接口自动化测试框架搭建到实现_第10张图片

HttpRunner接口自动化测试框架搭建到实现_第11张图片

 编写后的yml文件如下:

HttpRunner接口自动化测试框架搭建到实现_第12张图片

 HttpRunner接口自动化测试框架搭建到实现_第13张图片

5、多个测试用例接口关联

多个测试用例需要共用一个参数时,采取export关键字提取参数,如用例1提取的token用于所有的用例,yml文件示例如下:

先extract提取:

HttpRunner接口自动化测试框架搭建到实现_第14张图片

 然后在config中使用export声明变量:

HttpRunner接口自动化测试框架搭建到实现_第15张图片

 这样用例1的token就提取成功了,我们在另外的用例中使用它时,示例如下:

HttpRunner接口自动化测试框架搭建到实现_第16张图片

这样就实现了多个测试用例共用一个参数

6、测试报告

生成allure测试报告前需要下载allure,然后将路径配置到系统变量里

HttpRunner接口自动化测试框架搭建到实现_第17张图片

生成测试报告

HttpRunner接口自动化测试框架搭建到实现_第18张图片

 在线查看测试报告

HttpRunner接口自动化测试框架搭建到实现_第19张图片

 7、测试套件

测试套件可以管理测试用例,编写格式为:

HttpRunner接口自动化测试框架搭建到实现_第20张图片

 测试套件的运行命令与测试用例的运行命令相同,只是路径不同:hrun ./testsuite/xxx.yml

你可能感兴趣的:(接口自动化,服务器,运维)