news 2026/5/4 19:48:15

Jmeter的进阶功能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jmeter的进阶功能

1. 逻辑控制器

1. if逻辑控制器

要求:如果用户是张三我们就发送一个百度请求,否则就不发送。

  1. 新增一个用户变量 userName

  1. 新增一个逻辑控制器 > if控制器

  1. 把http请求拖到if控制器下面,让if控制器成为Http请求的父亲

  1. 执行发现条件满足,请求成功发送

  1. 改变条件。再次运行。我们可以发现条件不满足,请求不会发送

2. foreach控制器

要求:有一组关关键字,需要循环取出然后在用百度搜索

  1. 先创建出如下结构

  1. 创建3个有规律的变量名

  1. 设置foreach控制器

  1. 设置http请求并运行

2. 接口关联

比如接口2的参数需要接口1的结果作为查询条件

要求:获取 www.jd.com 网页的title字段作为www.baidu.com的查询条件

  1. 新建一个Http请求

  1. 在请求下面新建一个Xpath提取器。用来提取网页中的title

  1. 再新建一个请求百度,并引用val变量

  1. 运行之后是可以看到title属性已经取到了

3. Json提取器

上一个我们说了xpath提取器这里我们演示一下json提取器,其他的可以自行尝试

要求: 从接口返回的json中提取所有name值

  1. 设置http请求

  1. 新增一个json提取器

  1. 添加一个调式取样器

  1. 运行查看接口返回和调式取样器的结果

4. 跨越线程组传值

我的定义的变量一般只能在当前线程组中使用。不同线程组之间变量无法引用。那我们要怎么解决?

还是上面从获取www.jd.com网页的title字段作为www.baidu.com的查询条件的例子。

现在我们把www.jd.com的请求和www.baidu.com的请求放在不同线程组

  1. 构建请求

  1. 使用函数助手给全局设置一个变量

  1. 有了全局变量Gval我们怎么获取呢?还是使用函数助手生成获取全局变量的表达式

  1. 给百度请求设置好变量

  1. 为了保证每个线程组顺序执行,记得勾选独立运行每个线程组

  1. 选中查看结果树,运行

5. 性能测试

模拟各种正常的,峰值的测试环境,检测程序的各项性能指标是否达标

1. 高并发

要求: 同一时刻有100个人去访问同一个接口。统计高并发情况下平均响应时间和错误率

  1. 添加请求

  1. 为请求添加同步器

  1. 添加聚合报告

  1. 选中聚合报告,运行,查看结果

2. 高频率

QPS: query per seconds 每秒查询数,每秒访问多少次服务器

要求: 一个用户以20QPS的频率访问一个接口,持续15秒,统计服务器平均响应时间

  1. 添加一个常数吞吐量定时器

  1. 设置线程组

3.运行查看结果

6. 分布式

当单台机器的 CPU 或内存无法支撑数万甚至数十万的并发用户(Threads)时,就需要使用JMeter 分布式测试

其核心架构是“一主多从”

  • Master (控制机):负责分发测试脚本(.jmx)给各个 Slave,并汇总测试结果。
  • Slaves (负载机/从机):负责执行具体的测试任务,向目标服务器发送请求。

为了测试,在本机运行两个jmeter

master配置

进入bin目录,修改jmeter.properties如下配置

# 禁用 SSL server.rmi.ssl.disable=true # 添加从机的ip和地址 remote_hosts=127.0.0.1:11000

slave配置

进入bin目录,修改jmeter.properties如下配置

# 禁用 SSL server.rmi.ssl.disable=true

启动从机

在从机的bin目录下面,启动完成后黑窗口不要关闭

jmeter-server-Djava.rmi.server.hostname=127.0.0.1-Dserver_port=11000

正常启动Master

bin目录点击运行jmeter.bat,启动后能看到能连接到从机

随便建一个请求测试

7. 生成图形化报告

在Jmeter中可以以图形化(饼状图,柱状图。。。)的方式显示脚本运行结果,较于之前的聚合报告或者查看结果树更直接美观

生成图形化报告命令:

jmeter -n -t jmx脚本文件 -l 日志文件 -e -o 目录

-n 无图形化运行 -t 被运行的脚本 -l 将日志写到哪里 -e 生成测试报告 -o 输出到制定目录
  1. 我们拿这个做个测试

  1. 在jmter的bin目录执行一下命令

jmeter -n -t D:\文档\jmeter\聚合报告.jmx -l D:\文档\jmeter\test.log -e -o D:\文档\jmeter\res

  1. 查看生成的结果

12.参考

参考视频:https://www.bilibili.com/video/BV1ty4y1q72g

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 3:31:48

Copula二维最全代码,包括边缘分布的拟合寻优,联合分布的拟合寻优及蒙特卡洛数据模拟代码 案...

Copula二维最全代码,包括边缘分布的拟合寻优,联合分布的拟合寻优及蒙特卡洛数据模拟代码 案例包括4部分: 1-变量x1的边缘部分拟合,提供了正态分布、对数正态分布、伽马分布、威布尔分布、指数分布、瑞利分布等6种常见边缘分布&…

作者头像 李华
网站建设 2026/4/22 21:33:50

告别论文焦虑:百考通AI如何助力本科生高效完成毕业论文

本科毕业论文写作是每位大学生都必须面对的重要关卡,许多同学在这一过程中常常陷入“选题无从下手、文献如大海捞针、内容空洞缺乏深度、格式反复调整”的困境。 从开题报告到最终答辩,每个环节都像一场考验。今天,我们将深入了解 百考通AI论…

作者头像 李华
网站建设 2026/4/22 22:10:26

适合二开的物联网平台

物联网平台 - Thinglinks-iot ## 🌟 项目简介 一个功能完备、高可扩展的物联网平台,用最少的代码接入设备,基于Ruoyi-vue框架,支持Mysql和pgsql双版本,集成mybatis-plus,集成TCP、MQTT、UDP、CoAP、HTTP、…

作者头像 李华
网站建设 2026/4/22 22:21:56

互联网大厂Java求职者面试实录:涵盖Spring Boot、微服务与AI技术

互联网大厂Java求职者面试实录:涵盖Spring Boot、微服务与AI技术 在互联网大厂Java求职面试中,面试官严肃而专业,而求职者谢飞机则时而机灵,时而搞笑,本文通过模拟面试场景,展现三轮循序渐进的技术提问&am…

作者头像 李华
网站建设 2026/4/25 16:03:50

计算机毕设Java基于Java的图书借阅系统 基于Java技术的智能图书管理系统设计与实现 Java驱动的图书借阅与管理一体化平台开发

计算机毕设Java基于Java的图书借阅系统l161s9 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着信息技术的飞速发展,传统的图书借阅模式已经难以满足现代图书馆和读…

作者头像 李华
网站建设 2026/4/29 9:29:25

用AI生成网络小说脑洞:技术实操指南,从Prompt到落地全拆解

在网络小说创作中,脑洞是作品的核心竞争力,新颖、有逻辑、可延伸的脑洞,能让作品在海量内容中快速脱颖而出。随着AI大模型技术的普及,越来越多创作者开始用AI辅助生成小说脑洞,但多数人仅停留在浅层使用,难…

作者头像 李华