Apache JMeter 是一个用于性能测试的开源工具。它最初是为测试 Web 应用程序而设计的,但随后扩展到测试其他类型的应用程序,包括数据库服务器、FTP 服务器等。
使用版本:5.6.3
jdk环境:1.8
创建测试计划-
添加线程组
- 线程数:10 个线程就是模拟 10 个用户。
- Ramp-Up 时间 (秒):线程准备时长。如果线程数为 10,准备时长为 10,那么需要 1秒钟启动 1 个线程。
- 循环次数。如果线程数为 10,循环次数为 10,那么每个线程发送 10 次请求。总请求数为 10*10 = 100。如果勾选了“永远”,那么所有线程会一直发送请求,直到手动停止
添加http请求
HTTP信息头管理器
添加头信息:Content-Type:application/json
添加结果树-查看接口响应信息
添加正则表达式提取器-提取响应数据
如提取token的正则表达式 "Authorization":"(.*?)"
响应断言
JSON断言
上面的 JSON Path 指的是 JSON 路径表达式。表达式由一系列的属性名和数组索引组成:以 “$.” 开头,用“.”和“[]”分隔。例如,以下 JSON 响应:
{
"name": "John",
"age": 30,
"cars": [
{
"name": "Ford",
"models": [
"Fiesta",
"Focus",
"Mustang"
]
},
{
"name": "BMW",
"models": [
"320",
"X3",
"X5"
]
}
]
}
可以使用以下表达式获取相应的值:
- $.name:获取 "John"。
- $.cars[0].name:获取 "Ford"。
- $.cars[1].models[2]:获取 "X5"
*其它测试工具
eTest: 一个开源的浏览器自动化测试工具
MeterSphere:基于Jmeter的测试平台 (开源版/付费版)
httprunner:开源的、跨平台的、支持多种编程语言的 API 自动化测试框架
基于httprunner的测试平台??