1.httprunner3入门
阅读原文时间:2023年07月08日阅读:7

一、httprunner3

  • httprunner是一款面向HTTP(S)协议的通用开源测试框架
  • 支持三种格式的用例:YAML/JSON/Pytest,httprunner3以前不支持pytest用例
  • 可实现自动化测试、持续集成等多种测试需求
  • 继承Requsts的全部特性
  • 在HAR支持下记录并生成测试用例
  • 支持variables、extract、validate、hooks机制
  • 使用debugtalk.py插件,任何功能都可以在测试用例任何部分使用
  • 使用jmespath提取验证json
  • Locust可以进行性能测试
  • 支持CLI命令,与CI/CD完美结合

二、Httprunner安装

# 安装完之后会有httprunner命令 和har2case命令
pip3 install httprunner

#命令参数
httprunner run :运行YAML/JSON/Pytest测试用例
httprunner startproject :使用模板结构创建新项目
har2case -2y :将har文件转换成yaml文件,如果未指定,则生成pytest用例
har2case -2j : 将har文件转换成json文件,如果未指定,则生成pytest用例
httprunner make: YAML/JSON用例转成pytest用例
hrun: httprunner run 命令的缩写
hmake: httprunner make命令的缩写

三、通过抓包录制生成测试用例

  • 抓包生成.har文件
  • har2case 生成Yaml格式的用例
  • har2case生成Json格式用例
  • har2case生成Pytest格式的用例
  • 我们也可以不抓包,手动编写Json、Yaml格式的测试用例然后运行

示例

    我们使用命令创建项目 

httprunner startproject 项目名

    使用抓包工具抓到对应的接口,然后右键,选中export session导出当前会话文件,文件格式选择.har后缀,保存在项目har目录下,下图1,2

    然后我们通过har2case命令,将har文件,转换成我们需要的yaml用例,下图3

 导出保存har文件

生成yaml文件,对应文件内容和断言信息我们可以自定义

四、运行测试用例

运行命令:hrun 对应的测试用例
运行之后,会给我们自动生成一个pytest的用例脚本,然后执行该脚本
json文件也是同样的运行原理
当然我们也可以不指定参数默认生成pytest用例,然后使用pytest运行该用例

—filter、—exclude

如果我们抓包生多个请求,我们希望转换自己指定url地址或者排除指定的url地址 

--filter:

#过滤url包含xxx.com的内容,如只转含127.0.0.1的url请求
har2case -2y xxx.har --filter 127.0.0.1
"""
请求地址包含127.0.0.1的接口请求全部转换成yaml文件
"""

--exclude

#排除url包含xxx.com的内容,如排除127.0.0.1的url请求
har2case -2y xxx.har —exclude 127.0.0.1
"""
请求地址除了127.0.0.1的接口请求全部转换yaml文件
"""

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器