HttpRunner接口自动化测试框架搭建到实现
  birepRDMKEdt 2023年11月02日 44 0


 一、环境搭建

1、安装httprunner

pip install httprunner

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

2、版本区别

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

pip install har3case

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

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

HttpRunner接口自动化测试框架搭建到实现_测试报告_02

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

HttpRunner接口自动化测试框架搭建到实现_测试报告_03

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

HttpRunner接口自动化测试框架搭建到实现_测试用例_04

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

httprunner -V
har2case -V

HttpRunner接口自动化测试框架搭建到实现_测试报告_05

4、生成脚手架

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

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

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

二、应用实例

1、测试用例准备

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

1).yaml

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

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

HttpRunner接口自动化测试框架搭建到实现_测试报告_06

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

HttpRunner接口自动化测试框架搭建到实现_用例_07

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接口自动化测试框架搭建到实现_测试报告_08

HttpRunner接口自动化测试框架搭建到实现_测试报告_09

HttpRunner接口自动化测试框架搭建到实现_测试报告_10

 3、运行测试用例

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

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

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

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

HttpRunner接口自动化测试框架搭建到实现_测试报告_11

HttpRunner接口自动化测试框架搭建到实现_测试用例_12

HttpRunner接口自动化测试框架搭建到实现_用例_13

 编写后的yml文件如下:

HttpRunner接口自动化测试框架搭建到实现_测试用例_14

HttpRunner接口自动化测试框架搭建到实现_测试用例_15

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

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

先extract提取:

HttpRunner接口自动化测试框架搭建到实现_测试报告_16

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

HttpRunner接口自动化测试框架搭建到实现_用例_17

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

HttpRunner接口自动化测试框架搭建到实现_用例_18

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

6、测试报告

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

HttpRunner接口自动化测试框架搭建到实现_测试报告_19

生成测试报告

HttpRunner接口自动化测试框架搭建到实现_用例_20

 在线查看测试报告

HttpRunner接口自动化测试框架搭建到实现_测试用例_21

 7、测试套件

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

HttpRunner接口自动化测试框架搭建到实现_测试报告_22

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



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
birepRDMKEdt
最新推荐 更多