news 2026/4/23 13:24:24

如何使用Jmeter进行性能测试?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用Jmeter进行性能测试?

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快

今日分享:如何使用 jmeter 进行性能测试,就拿一个具体项目为例进行讲解。

一、目录结构

说明:确认转让接口的入参依赖于:前台登录接口和获取submitToken接口

二、目录结构中的:撤资项目—测试计划

内容如上图所示

三、目录结构中的:确认撤资—线程组

内容如下图所示:

四、目录结构中的:用户参数 填写登录的用户名和密码

内容如下图所示:

五、目录结构中的:BeanShellPreProcessor—前置处理器

内容如下图所示:

java代码为:【使用base64对用户名密码加密】

import org.apache.commons.codec.binary.Base64; String username = vars.get("username"); String password = vars.get("password"); String combineduserpass = username + ":" + password; byte[] encodedUsernamePassword = Base64.encodeBase64(combineduserpass.getBytes()); vars.put("auth",new String(encodedUsernamePassword));

备注:

username—用户参数中的:名称

password----用户参数中的:名称

六、目录结构中的:HTTP信息头管理器

内容如下图所示:

备注:HTTP信息头管理器中的名称相当于python文件headers里的内容

七、目录结构中的:HTTP请求—前台登录接口

内容如下图所示:

备注:

Body Data内容:{“authorization”: “Basic ${auth}”} 此内容为登录接口的入参

参数auth是BeanShellPreProcessor【前置处理器中:java代码返回的参数:auth】

八、目录结构中的:HTTP请求—前台登录接口 察看结果树

内容如下图所示:

九、目录结构中的:HTTP请求—前台登录接口 登录xAuthToken提取

内容如下图所示:

正则表达式提取器:获取登录接口返回的:xAuthToken值

备注:

1、引用名称可以随便取,但是正则表达式中的名称需与接口返回的xAuthToken的名称保持一致;

2、一般获取第一个xAuthToken出现的值【模板/匹配数字】;

十、目录结构中的:HTTP请求—获取submitToken值

内容如下图所示:

备注:

1、该接口请求返回submitToken值;

2、入参如Body Data所示;

十一、目录结构中的:HTTP请求—获取submitToken值

submitToken提取【正则表达式提取器】

内容如下图所示:

备注:

1、正则表达式提取器中,引用名称可以自由命名,后面会引用该名称;

2、正则表达式中的名称为:获取submitToken接口返回的submitToken的值的名称;

3、一般获取接口返回的第一个名称为:submitToken的值的名称,即:submitToken;

十二、目录结构中的:HTTP请求—获取submitToken值 察看结果树

内容如下图所示:

十三、目录结构中的:HTTP请求—确认转让接口

内容如下图所示:

备注:

1、Body Data中的入参submitToken变量为:submitToken提取 正则表达式提取器中:引用名称 submitToken;

2、确认转让接口所需要的headers信息已在目录结构为:HTTP信息头管理器;

十四、目录结构中的:HTTP请求—确认转让接口 BeanShellPostProcessor

内容如下图所示:

代码:prev.setDataEncoding(“UTF-8”);

解决:接口返回结果中中文乱码问题;

十五、目录结构中的:HTTP请求—确认转让接口 察看结果树

内容如下图所示:

十六、目录结构中的:HTTP请求—确认转让接口 响应断言

内容如下图所示:

红框标注为:确认转让接口正确返回时应该包含的内容;

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

冶金轧钢车间远距离通讯解决方案:DP转光纤实现设备稳定互联

某冶金厂专注于高强度结构钢、特种合金钢板的研发与生产,核心轧钢车间承担着企业80%的钢材轧制任务。该车间采用“中控室西门子S7-400PLC8台四辊可逆轧机6台红外温度传感器”的控制架构,其中PLC作为控制核心,需实时接收每台轧机张力控制器反馈…

作者头像 李华
网站建设 2026/4/23 9:46:58

安全运维工程师和传统运维工程师在工作内容上有什么主要区别?

安全运维工程师和传统运维工程师虽然都带着“运维”二字,工作环境也常有交集,但他们的核心目标、日常工作重心和所需的技能图谱有着本质的区别。为了让你能快速把握全局,下表清晰地展示了它们在四个核心维度上的不同。对比维度传统运维工程师…

作者头像 李华
网站建设 2026/4/23 9:47:15

sync.Pool 真不是“对象池”:Go GC 性能优化的隐藏王牌

sync.Pool 深度解析本期分享 sync.Pool:短生命周期对象的复用技巧,以及它在 Go Runtime 与 GC 背后发生的那些事。一、为什么需要 sync.Pool 要理解 为什么会有 sync.Pool,我们需要先理解 Heap Allocation(堆分配)。 1…

作者头像 李华
网站建设 2026/4/23 9:48:20

实时对抗类游戏AI难训练?破解高动态环境下的3大技术瓶颈

第一章:实时对抗类游戏AI训练的挑战与机遇实时对抗类游戏为人工智能提供了极具挑战性的测试平台。这类环境不仅要求AI具备快速决策能力,还需在信息不完全、对手策略动态变化的情况下持续适应。由于每局对战的时间步长极短,且动作空间庞大&…

作者头像 李华