接口测试自动化框架httprunner笔记01(初步实现)
一、httprunner的简介
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试。
二、运行环境
1、HttpRunner 是一个基于 Python 开发的测试框架,可以运行在macOS、Linux、Windows 系统平台上。
2、Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括2.7/3.4/3.5/3.6/3.7。建议使用 Python 3.4 及以上版本
三、安装方式
pip install httprunner==2.5.7
可指定安装版本进行安装,或者不指定直接install
四、初步使用
1.pycharm创建一个项目,项目下新建一个yml文件
2.yml文件编写基本语法(可查相关资料补充)
- k:(空格)v:表示一对键值对(空格必须有),不支持table键,一般手动空格
- 以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
- 属性和值大小写敏感
- “ # ”表示注释
- null用~表示
- 支持的数据结构:
对象:键值对的集合
数组:一组按次序排列的值
纯量(scalars):单个的、不可再分的值
字符串、布尔值、整数、浮点数、时间、日期、null
3.yml示例脚本如下:
- config模块
name 本用例集名称
request 请求全局变量,包括base_url(公共host)、headers等
base_url 全局公共host,也可以不定义,用例中写完整的url就行
以上全局配置,除了name,其他都是非必要的,可以根据需要添加 - test模块
name 本条测试用例的名字
request 请求体
url 请求的路径,由于全局变量已经定义好host,这里就直接填写后面的路由
method 请求方式
params/json 请求参数
validate 断言
4.执行脚本
打开cmd,进入到该文件目录,执行命令hrun 测试yml文件名.yml回车即可
5.查看报告
在yml文件同级文件夹中,report文件夹保存的是每次执行的测试报告html
打开链接可查看报告详情
同时可点击log查看具体日志,如果有执行失败接口也可查看失败原因记录
ps:此处仅简单举例一个最简单的脚本,后期补充,使用debugtalk.py实现参数化,另外,由于这个框架集成了locusts性能测试工具,故还可以非常方便的进行性能测试,与接口测试类似,后期再出一版补充
同时,新增接口时只需要在yml文件中添加相同格式的接口参数即可,以此实现接口自动化的目的。
相比较其他自动化框架搭建来说,httprunner优点是接口简单,需要维护的脚本比较少,轻量级的框架。同时可扩展性也比较强,可根据实际测试需求补充脚本。