一、什么是HttpRunner
它是面向http协议的测试框架。只需要去维护一份yaml或json文件就可以使用自动化测试。结合locust性能测试,线上性能监控,持续集成等多种需求。
二、设计思想和理念
- 重复复用优秀的开源项目(不追求重复造轮子,而是将轮子组装成战车)
- 约定大于配置(提升测试脚本的可维护性)
- 配置文件组织测试用例(yaml/json)
- 一次投入,多处复用
- 高度可扩展性
三、测试过程
四、HttpRunner环境搭建
- 安装python 2.7或3.7都行
- 直接安装httprunner
2.x版本:pip install httprunner
3.x版本:pip install httprunner
pip install har2case - 验证环境是否安装成功
hrun -v 和 har2case -v - 五个命令
命令名称 缩写 功能 httprunner 主命令 httprunner hrun 用于运行yaml/json/pytest测试用例 httprunner mark hmark 将yaml/json转化为pytest文件 httprunner har2case har2case 将har文件转化为yaml/json文件 locust 用于性能测试
五、快速上手
- 使用抓包工具:fiddler操作一遍抓包,导出har文件
- 在python中粘贴刚刚导出的文件
- 通过har2case 命令把har文件转化为yaml,json,pytest文件格式
har2case get_news.har 生成pytest文件格式的测试用例
har2case get_news.har -2y 生成yaml文件格式的测试用例
har2case get_news.har -2j 生成json文件格式的测试用例 - 运行文件
hrun get_news.yml 运行yaml文件
hrun get_news.json 运行json文件
hrun get_news_test.py 运行pytest文件
六、接口关联
在第一个访问的接口的request标签下加一个extract标签提取返回值,通过content提取
在需要关联的接口的request标签下的params里通过$变量名使用
七、动态参数
首先创建一个debugtalk.py的文件,里面输入想实现的功能函数
其次在yaml文件中需要的地方使用$调用
八、环境变量
在yaml文件的config中加入语句
九、全局变量
在yaml文件的config模块的variables中输入数据
在需要的地方使用$调用