Apache-JMeter压测工具教程

下载安装

《JMeter官网下载》

下载完成后,找个文件夹进行解压

配置环境变量

JAVA_HOME(如果是JAVA8还需要配置CLASSPATH)、JMETER_HOME

java 复制代码
JMETER_HOME

修改bin目录下的jmeter.properties文件编码为UTF-8

5.6.3这个版本encoding已经默认为UTF-8了,可以跳过

language语言默认是英语,要改成中文

java 复制代码
sampleresult.default.encoding=UTF-8
language=zh_CN

启动JMeter

win + R 输入以下内容,回车,会正常启动UI界面。

shell 复制代码
jmeter

压测

创建线程组


测试HTTP请求

测试GET请求

添加查看结果树
发送请求并查看响应结果
是否保存测试计划,这里是测试用例所以不保存。

测试POST请求

同样,我们创建一个线程组,然后再创建HTTP请求,然后再创建查看结果树。这里多了一个请求头配置。

配置请求头


发送POST请求


加上请求头以后,请求正常响应

使用通用信息

前面的请求头中如果都是json的,则可以提取出来

设置HTTP请求默认值

去掉下面的协议、ip、端口号、内容编码再次请求也能正常响应

接口与线程之间的传参

以查询全部课程接口为例,希望提取课程id

添加json提取器:右键http请求-》添加-》后置处理器-》json提取器

JSON提取公式:$...字段名

查看提取结果------调试取样器:course_id=63
提取全部id


引用提取出来的参数

同一线程下引用:${引用名}


跨线程引用:后置处理程序

直接把进入课程详情接口拉到另一个线程下,课程id没有成功被引用

java 复制代码
跨线程需要把提取出来的值设置为全局变量:

右键http请求-》添加-》后置处理器-》后置处理程序

在BeanShell后置处理器中使用__setProperty()函数把courses_id设置为全局变量

${__setProperty(新值,${提取值},)};


java 复制代码
设置全局变量成功,再次引用查看效果

跨线程引用方法:${__property(变量名)}


参考

《jmeter教程------从入门到熟练》

相关推荐
JavaPub-rodert3 小时前
Apache Jena 详解:Java 开发者如何真正搭起一套知识图谱与语义服务
java·apache·知识图谱
AOwhisky20 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
JackSparrow4142 天前
Kafka(七)集成Apache Avro+Apicurio Schema Registry以保障生产者与消费者的消息兼容性
java·中间件·rpc·kafka·apache·avro·schema-registry
智码看视界2 天前
SenseNova U1.5 Lite 部署实测:8B 单卡跑通 4K 生图,Apache 2.0 免费商用
开源·apache·多模态·图像生成·ai生图·sensenova·商汤大模型
川石课堂软件测试3 天前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
wuhuhuan3 天前
JMeter 性能测试教程
jmeter
行者-全栈开发4 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试
wuhuhuan5 天前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
海兰6 天前
【 Kafka进阶5】使用 Docker 部署 Apache Kafka 集群完全指南
docker·kafka·apache
垂钓的小鱼16 天前
用关联图谱做量化选股:让基本面惊喜沿着网络扩散
服务器·php·apache