Python_Httprunner接口测试+locust性能测试
Posted 小韩测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_Httprunner接口测试+locust性能测试相关的知识,希望对你有一定的参考价值。
1、什么是接口?
接口,Application Programming Interface(API)
通俗的讲 就是HTTP请求
2、什么是接口测试?
接口测试测试组件间接口的一种测试。
主要用于检测外部系统与系统之间,系统内部各子系统的交互点。
很多前端和后端都是分离的,单独只从前端验证,远远不够,绕过前端太容易了,还需要从接口层面进行验证。
3、需要安装的模块:Requests
是Python的一个第三方HTTP库,然后有可能是这个星球上最好用的http库了
requests安装
Windows: 打开cmd命令行,输入pip install requests,等待安装完成即可
Linux: (建议使用Python3),终端中输入pip3 install requests,等待安装完成即可
Mac: (建议使用Python3), sudo python3 -m pip install requests,等待安装完成即可
验证是否安装成功:
打开命令行,输入python,在python shell环境下输入import requests没有报错即安装成功
4、requests的使用
一个最简单的GET请求:
组装请求: 请求可能包含url,params(url参数),data(请求数据),headers(请求头),cookies等,最少必须有url
发送请求,获取响应:支持get,post等各种方法发送,返回的是一个响应对象
解析响应: 输出响应文本
简单实类:
# 导入requests包
import requests
# GET请求
url = "http://www.baidu.com" # 这里只有url,字符串格式
# 2. 发送请求,获取响应
res = requests.get(url) # res即返回的响应对象
# 3. 解析响应
print(res.text) # 输出响应的文本
5、Python 接口测试类1(unittest、生成html报告)
文件目录:test1
6、Python 接口测试类2(unittest、ddt、邮件发送、xlsx、生成html报告)
文件目录:python_Interface-master
7、Httprunner框架测试接口(json/yaml、生成html报告)
官方使用文档:
https://cn.httprunner.org/Installation/
接口获取便捷:
通过Charles获取到接口导出har文件,然后用命令转换成json文件
转换:
har2case apptest1.har 转换成JSON文件
har2case apptest1.har -2y 转换成yaml文件
Httprunner 的使用
输入命令:hrun apptest1.json
DEMO创建
hrun --startproject demo
1、全局变量
"variables": {
"url" : "https://ppweb.haierzhongyou.com"
}
2、引用参数
关键字:$参数名$user_id
3、缓存参数。
"extract": [
{"token": "content.data.token"}
],
4、数据驱动
config:
name:
testcases:
create user $username-$password:
testcase: testcases\\test_demo.yml
parameters:
- index: ["test", "test1"] --- 单一参数列表
- username-password:
- ["user1", "111111"]
- ["user2", "222222"]
- ["user3", "333333"] --- 多参数列表
- resName-status: ${P(data/account.csv)} ---外部csv文件
5、重复运行
times: 5
6、跳转运行
"skip": "过滤次接口"
locust性能测试
使用locusts -V查看时,会提示需要先安装locustio
使用 pip 安装 locustio 包
pip install locustio
locusts 启动
使用locusts -f 启动脚本文件
locusts -f 1234.json
运行完成之后,可以看到locust的web页面在8089端口启动,接着在浏览器输入:http://localhost:8089/ 即可访问
设置模拟用户、每秒产生(启动)的虚拟用户数-点击启动按钮
性能测试参数
Type: 请求的类型,例如GET/POST。
Name:请求的路径。这里为百度首页,即:https://www.baidu.com/
request:当前请求的数量。
fails:当前请求失败的数量。
Median:中间值,单位毫秒,一半的服务器响应时间低于该值,而另一半高于该值。
Average:平均值,单位毫秒,所有请求的平均响应时间。
Min:请求的最小服务器响应时间,单位毫秒。
Max:请求的最大服务器响应时间,单位毫秒。
Content Size:单个请求的大小,单位字节。
reqs/sec:是每秒钟请求的个数。
以上是关于Python_Httprunner接口测试+locust性能测试的主要内容,如果未能解决你的问题,请参考以下文章