httprunner3.X 基本使用

一、Httprunner简单介绍

httprunner是一个面向https协议的接口自动化测试框架。它只需要维护一份json,yaml文件那么就可以实现自动化测试,性能测试,线上监控,持续集成。
HttpRunner 主要包含下列特征:
继承 Requests 库的全部特性,轻松实现 HTTP(S) 的各种测试需求以 YAML 和 JSON 定义测试用例,通过 pytest 去运行基于 HAR 文件,实现接口的录制及用例的生成功能支持 variables、extract、validate、hook 等关键字,可以创建复杂的测试场景借助辅助插件 debugtalk.py,在测试脚本中轻松实现复杂的动态计算逻辑集成 jmespath,方便提取变量、验证 JSON 响应集成 pytest,支持大量的插件集成 allure 生成强大的测试报告集成 locust,非常方便做性能测试执行方式采用 CLI 调用形式,可以和 Jenkins 等持续集成工具完美结合使用 pip 安装 HttpRunner 稳定版本
httprunner架构:
1.Fiddler抓包,生成HAR文件
2.由HAR文件转化成YAML,JSON,PY文件
3.标准化的JSON数据格式
4.拼接转换
5.测试用例集
6.自动化测试,requests
7.性能测试:locust

二、httprunner安装

安装python3.7
pip install httprunner==3.1.4
hrun -V 验证版本
pip install har2case
har2case -V验证版本

遇到的坑:hrun -V ,报错

ImportError: cannot import name ‘soft_unicode’ from ‘markupsafe’ (D:\Anaconda\envs\vt_api_test\lib\site-packages\markupsafe_init_.py)

明明装了 markupsafe 这个模块了。为什么还会报错呢?

(vt_api_test) E:\code\vt_api_frame>pip install markupsafe
Requirement already satisfied: markupsafe in d:\anaconda\envs\vt_api_test\lib\site-packages (2.1.1)

当前这个markupsafe包的版本是2.1.1版本。

解决方法:查看版本会出现报错问题,查看是哪个包报错,重新定义版本安装对应包,可尝试指定低版本安装。比如:pip install markupsafe==2.0.1

三、基本使用

1. 创建项目   httprunner startproject dahai_demo

2. 抓包导出har文件,放在har文件下
如果使用的是fiddler工具抓包,在保存文件时选择文件格式为:HTTPArchive v1.2

3. har2case转换成json/yaml用例文件,放在testcases文件下
  har2case har/XXX.har
  har2case har/XXX.har -2y
  har2case XXX.har -2j
4. make转换成pytest用例文件
  hmake testcases/XXX.yml
  hmake testcases
5. hrun运行用例
  hrun testcases/XXX.yml
  hrun testcases

 

   如果想看到request和response、提取和断言的详细信息,可以增加-s--capture=no的缩写),加入后结果就日志中就不会出现句柄错误的报错了

hrun -s testcases/list.yml

 6. hrun运行并生成报告

hrun -s testcases --html=./reports/result.html

7. pytest生成报告
用 hrun 运行生成的报告会出现一大堆的报错: OSError: [WinError 6] 句柄无效。并且无法显示 request 和 response 内容。
hrun 执行pytest用例还不太完善,尽量用pytest去执行py脚本
  pytest testcases --html=./reports/result.html --self-contained-html

 参考中文文档

https://ontheway-cool.gitee.io/httprunner3doc_cn/

posted @ 2023-02-07 13:49  小飘扬  阅读(163)  评论(0编辑  收藏  举报