news 2026/4/3 2:52:28

【性能测试】5_JMeter _JMeter参数化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【性能测试】5_JMeter _JMeter参数化

文章目录

  • 一、JMeter参数化常用方式
  • 二、用户定义的变量
    • 2.1 场景
    • 2.2 配置方式
      • 2.2.1 配置方法1:配置元件中配置
      • 2.2.2 配置方法2:在测试计划中配置(全局生效)
  • 三、用户参数
    • 3.1 场景
    • 3.2 操作方法
  • 四、CSV 数据文件设置
    • 4.1 场景
    • 4.2 操作方法
    • 4.3 CSV数据文件-扩展
    • 4.4 问题
  • 五、函数(counter)
    • 5.1 场景
    • 5.2 需求1-配置
    • 5.3 需求2-配置

一、JMeter参数化常用方式

  • 用户定义的变量
  • 用户参数
  • CSV Data Set Config
  • 函数

二、用户定义的变量

2.1 场景

  • 请求: https://www.baidu.com:443
  • 要求: 使用用户定义的变量,配置被测系统的协议、 域名和端口
  • 场景:多个请求,使用相同的公共数据时,使用 用户定义的变量。

2.2 配置方式

用户定义的变量:{参数名:值}HTTP取样器中应用:${参数名}

2.2.1 配置方法1:配置元件中配置

  • 添加路径:测试计划——线程组——配置元件——用户定义的变量。
  • 线程组下配置的用户定义的变量,在线程组下生效,与测试计划中配置的变量冲突时,以线程组下的为准。

2.2.2 配置方法2:在测试计划中配置(全局生效)

三、用户参数

使用用户定义的变量时,不同的用户在访问时,读取的参数值完全相同,如果希望每个用户在访问时的变量不同,可以使用用户参数。

添加位置:测试计划——线程组——前置处理器——用户参数

3.1 场景

  • 需求:请求百度首页,3个用户访问,每个用户携带不同的姓名和年龄。
  • 请求: https://www.baidu.com
  • 要求:第一次请求附带参数:name=“张三”&age=28;第二次请求附带参数:name=“李四”&age=30;第三次请求附带参数:name=“王五”&age=100。
  • 场景:并发访问,但每个请求使用不同的参数。如:登录
name张三李四王五
age2830100

3.2 操作方法

1、在测试计划中添加 线程组、HTTP请求、查看结果树。

2、线程组设置,线程数=3 。

3、用户参数设置,添加用户和针对每个用户添加变量。

4、HTTP请求设置,添加值。

5、查看结果树。

四、CSV 数据文件设置

  • 使用用户参数时,每个用户可以取不同的数据,但是同一用户的多次循环时读取的数据是不变的。如果想让同一用户多次循环读取时的数据也不同,需要使用CSV数据文件设置的方式。
  • 添加方式: 测试计划 --> 线程组–> 配置元件 --> CSV 数据文件设置

4.1 场景

  • 需求:访问百度首页,1个用户循环访问3次,每次携带不同的用户名、密码、验证码。

  • 请求: https://www.baidu.com

  • 要求: 循环3次,每次请求时附带参数username,password,code的值不相同 。

  • 场景:单用户测试,使用大量不同数据发送请求场景。如:注册。

username,password,code ---第一行为字段名 user01,123456,1111 ---第二行开始,以后的每行,都是与字段对应的字段值 user02,123456,2222 user03,123456,3333 jmeter为了方便使用,可以使用.csv 或 .txt文件组织数据

4.2 操作方法

1、在测试计划中添加 线程组、HTTP请求、查看结果树。

2、定义定义CSV数据文件

3、线程组设置,循环次数= 3 。

4、CSV 数据文件设置

5、HTTP请求设置,引用参数值时,使用时CSV数据文件中定义的变量名。

6、查看结果树

4.3 CSV数据文件-扩展

场景:当不清楚 数据文件 中有多少条数据时:

1、修改“线程组”,循环次数=永远。

2、修改“CSV 数据文件设置”:

  • 遇到遇到文件结束符再次循环?设置=False
  • 遇到文件结束符停止线程? 设置=True

4.4 问题

Response code:Non HTTP response code: java.net.URISyntaxException Response message:Non HTTP response message:llegal character in query at index 89:.

解决方法:需要将对传入参数进行编码。

五、函数(counter)

  • 计数函数, 一般做执行次数统计使用;
  • 通过counter函数,生成动态变化的数值

在HTTP取样器中,应用counter函数生成的函数字符串,就可以读取counter函数生成的数值。

  • 如果counter参数设置为:TRUE,则每个用户分别从1开始计算,每循环一次加1
  • 如果counter参数设置为:FALSE,则所有用户公用一个计数器,每发送一个请求时,取值加1

5.1 场景

需求1:给 京东 发送 50 次请求,每个请求自带序列号,自己是第几次请求。

需求2:给 京东 发送 50 次请求,每个请求携带序号不同的 用户名。

场景:在发送请求时,需要提供唯一数据作为请求参数时使用。例如:快速注册1000个用户。

扩展:在计算机中,保证数据唯一性的方法:时间戳、计数器。

5.2 需求1-配置

1、在"函数助手对话框",选择函数counter

2、做函数相应的设置(如:只需一个计数器,FALSE)

3、点击“生成”按钮,生成函数对应的代码,同时自动复制。

4、将复制的代码,粘贴到使用的位置。

5.3 需求2-配置

GET https://www.jd.com/?name=username008 GET data: [no cookies]

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

树的练习3--------1022从根到叶的二进制数之和

前言 前面做了一道题目,感觉已经摸到递归大道的门把手了,现在做这个题还是有点模糊,知道怎么去做,但是不知道怎么去实现,现在看完题解以后,又对递归多了一点理解。 题目:点这里 解法 /*** D…

作者头像 李华
网站建设 2026/3/27 9:35:53

2026算法备案最全实操攻略:政策解读、奖励申报与产品上架全流程

随着AI技术在各行业深度渗透,算法备案已从“可选合规项”升级为涉算法企业的“强制性门槛”。2025年监管部门进一步细化备案规则、强化区域政策支持,并联动应用商店上架审核,形成全链条监管体系。本篇本章将结合最新政策要求、地方奖励政策及…

作者头像 李华
网站建设 2026/4/3 4:01:56

HMM隐马尔可夫模型在指数期权双币种套利策略

1. 策略功能与核心逻辑说明 本策略基于HMM(隐马尔可夫模型)构建,旨在通过识别金融市场中隐藏的状态转换规律,捕捉指数期权与外汇市场间的双币种套利机会。其核心功能是通过多维度市场数据训练HMM,推断当前市场所处的隐…

作者头像 李华
网站建设 2026/3/29 1:54:52

国产替代 Snyk/Black Duck(黑鸭)的国内代码安全工具实测与选型清单

摘要:长期以来,Snyk和Black Duck(黑鸭)在软件成分分析领域占据着全球市场的主导地位。然而,随着国内企业对数据安全合规、本土化服务以及成本效益的日益重视,寻求功能对等、体验更优的“平替”方案已成为大…

作者头像 李华
网站建设 2026/4/1 14:12:47

如何在 Odoo 19 中为自定义模块添加设置菜单

如何在 Odoo 19 中为自定义模块添加设置菜单 Odoo 是一款高度可适配的开源平台,可作为管理业务流程的综合解决方案。其模块化设计允许开发者构建自定义应用,以应对独特的运营挑战。自定义 Odoo 的一个重要方面是添加配置界面 —— 用户可在此界面个性化设…

作者头像 李华
网站建设 2026/3/19 18:28:58

Arcgis导出数据时出错,空间参考z值不匹配(已解决)

问题描述:把shp数据导出到想要的数据库,报错显示“导出数据时出错。空间参考z值不匹配。Excepting object to be local”这个问题是我很久以前就遇到过的问题,并已经形成了熟练的解决方案,这里不再分析原理(可能有的地…

作者头像 李华