发布时间:2022-10-14 17:00
1、HttpRunner
是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
2、Locust
Locust是一款易于使用的分布式用户负载测试工具。它用于对网站(或其他系统)进行负载测试,并确定系统可以处理多少并发用户。HttpRunner 通过复用Locust ,可以在无需对 YAML/JSON 进行任何修改的情况下,直接运行性能测试。
3、 httprunner使用手册
附httprunner中文使用文档地址:https://cn.httprunner.org/
1 安装httprunner: pip install httprunner==2.2.5
2 安装har2case: pip install har2case
3 检查安装是否成功:hrun -h/-v;har2case -h/-v
4 安装locust: pip install locustio
在 HttpRunner 安装成功后,系统中会新增如下 5 个命令:
1 httprunner: 核心命令
2 hrun: httprunner 的缩写,功能与 httprunner 完全相同
3 locusts: 基于 Locust 实现性能测试
4 har2case: 辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例
(1)利用fiddler/charles对接口数据进行抓包,将结果导出为XX.har文件
(2)将导出的XX.har文件转化为json文件/yaml文件
转化为json文件:har2case xx.har
转化为yaml文件:har2case xx.har -2y/--to-yml
status_code: 请求的状态码
headers.Content-Type: 将响应头的内容格式做验证
content.msg: 响应内容的关键字作为验证
config: 作为整个测试用例集的全局配置项,包括变量(variables,name)
test: 对应单个测试用例
name 这个test的名字(用例的名称)
request 这个test具体发送http请求的各种信息, 如下:
url 请求的路径 (若config中有定义base_url, 则完整路径是用 base_url + url )
method 请求方法 POST, GET等等
headers: 请求头
请求体: json格式的数据
validate(断言): 完成请求后, 所要进行的验证内容. 所有验证内容均通过该test才算通过,否则失败.
参数化:
testcases:
-
name: call demo_testcase with data 1
testcase: testcases/test_login.yml
parameters:
# username: ["admin1","admin"]
-username:
- ["admin1"]
- ["admin"]
测试用例(testcase)嵌套testcases
测试用例集是测试用例的无序集合,集合中的测试用例应该都是相互独立,不存在先后依赖关系的。
如果确实存在先后依赖关系怎么办,例如登录功能和下单功能。正确的做法应该是,在下单测试用例的前置步骤中执行登录操作。
- config:
name:order product
- test:
name:login
testcase:testcases/login.yml
- test:
name:add to cart
api:api/add_cart.yml
- test:
name:make order
api:api/make_order.yml
变量取值:
在测试用例内部,HttpRunner划分了两层变量空间作用域context。
【面试高频题】难度 2.5/5,简单结合 DFS 的 Trie 模板级运用题
苹果无线网服务器改什么速度快,iPhone网速慢怎么办?苹果手机如何配置DNS?
数据常用预处理教程详解(sklearn,numpy,pandas)
opencv(12):cv::rectangle学习与代码演示,使用opencv画矩形/矩形框
苹果或推出多屏幕iPhone;爱彼迎CEO:办公室时代已过去;Apache Flink 1.15 发布|极客头条
python编程初学者的良言警句_送给大数据开发初学者的良言,有兴趣的可以看看...