(一)--安装及简单使用
目录- 一、HttpRunner简介
- 二、运行环境
- 三、安装方式
- 四、文件类型说明
- 五、简单场景接口测试
- 1、GET请求举例说明
- 2、POST请求举例说明
二、运行环境
1、HttpRunner 是一个基于 Python 开发的测试框架,可以运行在 macOS、Linux、Windows 系统平台上。2、Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5/3.6/3.7。虽然 HttpRunner 暂时保留了对 Python 2.7 的兼容支持,但强烈建议使用 Python 3.4 及以上版本。
3、操作系统:推荐使用 macOS/Linux。
三、安装方式
HttpRunner 的稳定版本托管在 PyPI 上,可以使用 pip 进行安装。在dos命令提示符窗口中输入:运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功:
四、文件类型说明
在 HttpRunner 自动化测试项目中,主要存在如下几类文件:
五、简单场景接口测试
HttpRunner 测试用例的基本结构:1、每个 YAML/JSON 文件对应一个测试用例(testcase)
2、每个测试用例为一个list of dict结构,其中可能包含全局配置项(config)和若干个测试步骤(test)
3、config 为全局配置项,作用域为整个测试用例
4、test 对应单个测试步骤,作用域仅限于本身
1、GET请求举例说明
例:打开phpwind首页host:47.107.78.XX
url:/phpwind/
请求方式:get
返回一个text/html页面
使用httprunner进行接口测试的步骤: 步骤1、 新建一个phpwind.yml文件,文件代码内容如下:
步骤2、 打开cmd进入到phpwind.yml文件所在的目录,执行以下命令:
hrun phpwind.yml
步骤3、查看报告(报告所在的位置,在步骤二命令运行完成后会有提示):
2、POST请求举例说明
例:登陆phpwindhost:47.107.78.XX
url:phpwind/index.php?m=u&c=login&a=dologin
请求方式:POST
返回一个text/html页面
新建一个phpwind_login.yml文件,test部分代码内容如下(config部分请自行参照上面的案例进行填写):
后面的执行步骤与get请求的相同,就不再描述了。
(二)--变量空间(context)作用域
一、变量空间作用域简介
httprunner中变量空间作用域英文名为:context在测试用例内部,HttpRunner 划分了两层变量空间作用域(context),分别为config和test;config:作为整个测试用例的全局配置项,作用域为整个测试用例;test:测试步骤的变量空间(context)会继承或覆盖 config 中定义的内容;
1、若某变量在 config 中定义了,在某 test 中没有定义,则该 test 会继承该变量
2、若某变量在 config 和某 test 中都定义了,则该 test 中使用自己定义的变量值
各个测试步骤(test)的变量空间相互独立,互不影响;
如需在多个测试步骤(test)中传递参数值,则需要使用 extract 关键字,并且只能从前往后传递;
二、config参数说明
下图是官方网站提供的图片:这些关键词是什么意思呢?
关键词request中又包含多个关键词:
三、test参数说明
下图是官方网站提供的图片
关键词说明:
test中部分关键词使用介绍
extract关键词支持多种提取方式:
响应结果为 JSON 结构,可采用.运算符的方式,例如headers.Content-Type、content.success;
响应结果为 text/html 结构,可采用正则表达式的方式,例如blog-motto">(.*) validate关键词
支持两种格式:
{"comparator_name": [check_item, expect_value]}
{"check": check_item, "comparator": comparator_name, "expect": expect_value} request关键词
request关键词中包括http请求中的详细内容:
headers:请求头部信息
method:请求方式
url:请求地址
host:请求主机地址
params:GET请求参数
data:表单形式的参数
json:json格式的参数
(三)--断言
断言是拿实际结果和期望结果去比较;httprunner在validate(校验器)关键词中添加断言,有两种断言描述的方式; 一、断言描述方式 validate:- comparator_name: [check_item, expect_value]
- {"check": check_item, "comparator": comparator_name, "expect": expect_value}
举例:
二、httprunner支持的校验器
三、断言中使用正则表达式
httprunner断言中支持正则表达式,也支持定义变量
举例说明:
四、查看断言的结果
在生成的测试报告中可以看到断言的结果;
以上即使我整理的关于接口自动化框架的学习内容,欢迎各位朋友在评论区交流学习。
往期精彩点击阅读☞【测试大挑战】快来欺负它!这里有一份腾讯2020面试题
点击阅读☞十年测试老鸟告诉你——自动化测试选JAVA还是选Python
点击阅读☞【优秀学员故事】从神仙眷侣到IT双侠——这江湖携手而行。
点击阅读☞【开班!】T141——相信自己才能创造辉煌!