当前位置: 首页 > news >正文

【性能测试】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]

http://www.jsqmd.com/news/249711/

相关文章:

  • 导师推荐9个AI论文网站,助你轻松搞定本科生毕业论文!
  • Kimi生成的论文AI率爆表?这份降重操作指南收好
  • 解析大数据领域数据目录的发展趋势
  • sealos introduction (open-source cloud-native platform, Kubernetes Deployment, Cluster deployment)
  • 基于springboot的文化旅游小程序(源码+论文+部署+安装)
  • 导师推荐10个AI论文写作软件,助你轻松完成继续教育论文!
  • 基于微信小程序的大学生餐厅点餐系统(源码+论文+部署+安装)
  • 自考必看!9个高效降AIGC工具推荐,轻松过审!
  • 滚珠丝杆选型:导程与负载参数搭配需避开哪些常见误区?
  • 别再“等”生活:掌握主动幸福力
  • Oracle中Merge Using用法
  • 货币型VS净值型:收益风控认知全解析
  • 金刚能断是《当和尚遇到钻石》系列书籍的核心作品
  • 导师推荐!2026自考必备AI论文平台TOP9:9款测评+选哪个最稳
  • 关于 免杀(上)
  • 数字孪生是什么?国内外有哪些服务商——技术实力/市场地位深度解析与全景测评
  • 树的练习3--------1022从根到叶的二进制数之和
  • 被多数品牌忽略的:一站式发稿平台为何成为高效营销的必备选择?
  • 基于Johansen协整检验的指数期权统计套利策略实现
  • 救命神器2026最新!8款AI论文平台测评:本科生毕业论文全攻略
  • A59U 多模音频处理模组:USB 全兼容 + 全场景声学优化,让设备 “听见” 更清晰
  • 导师推荐!9款一键生成论文工具测评:本科生毕业论文全攻略
  • 纯血鸿蒙中的HashMap不支持首选项存储,但是Record就支持
  • 2026算法备案最全实操攻略:政策解读、奖励申报与产品上架全流程
  • 苹果签名的江湖风云:四大令牌如何主宰App生死
  • 2026 CTF 比赛实战指南:趋势解读 + 赛事推荐 + 备考策略,从入门到冲奖全攻略
  • 看不见的“门票”:一文读懂苹果签名的游戏规则
  • HMM隐马尔可夫模型在指数期权双币种套利策略
  • 攻防演练全流程实战指南:红队突破与蓝队防御核心技巧(网络对抗全解析)
  • linux清理缓存命令“echo 3 > /proc/sys/vm/drop_caches”