JMeter前置处理器-用户参数详解

简介: JMeter是一款开源性能测试工具,其前置处理器功能强大,能模拟真实用户行为。本文聚焦于用户参数这一重要前置处理器,阐述了用户参数的作用域规则:全局(测试计划)、线程组或请求级别。通过实例展示了如何定义单个或多个用户值,并说明了“每次迭代更新一次”选项的影响。用户参数与用户定义变量的主要区别在于,前者可为参数分配多个值,且在变量名冲突时优先级更高。理解这些概念有助于优化JMeter的性能测试效率。

image.png

简介

在进行性能测试时,对于模拟真实用户行为和生成负载的需求日益增加。JMeter 作为一款开源的性能测试工具,在这方面提供了丰富的功能和扩展性。其中,前置处理器是一项强大的功能,可以在发送请求之前对请求进行修改或添加额外的操作。本文将介绍前置处理器中非常重要的一个,用户参数的使用详解。

用户参数

用户参数用户定义的变量有类似之处,但是并不一样,我们在使用用户参数需要注意下面的问题:

  • 注意作用域的问题
    • 如果是放在测试计划下,则整个测试计划都可以引用该处定义的变量
    • 如果是放在线程组下,则只能在所放的线程组下引用
    • 如果是在请求下,则只能在具体请求下引用

使用实例

实例1:只定义一个用户,则在引用变量的时候,永远都是这个用户的值。如下图:

image.png

然后添加线程组及取样器,添加http请求,如下图:

image.png

image.png

执行请求,查看结果:

image.png

实例2:定义多个用户,则在引用变量的时候,会进行顺序循环取对应用户的值。

每次迭代更新一次:如果有多个用户/使用变量时勾选,如果不勾选,所有线程用的是同一个值,需要不同的线程用不同的值,需要勾选此选项。

image.png

image.png

image.png

执行请求

image.png

image.png

用户参数与用户定义变量的区别

  1. 用户参数可以给每个参数赋多个值,而用户自定义的变量只能赋一个值。如下图:

image.png

注:用户参数用户定义的变量的变量名称重复的时候,用户参数优先级高于用户定义变量。规则如下:

  • 线程组下的用户参数优先级高于测试计划里的用户自定义变量
  • HTTP 请求下的用户参数优先级高于线程组下的用户参数
  • HTTP请求下的用户参数和用户自定义变量重名,则优先取用户参数的值

总结

本文主要介绍了JMeter前置处理器,用户参数的使用,并且介绍了与用户定义变量的不同,用户参数对于我们使用JMeter模拟发送请求有很大的帮助,希望本文能够帮助大家了解JMeter用户参数的使用,在工作和学习中提升效率。

相关文章
12-Jmeter前置、后置处理器简介
12-Jmeter前置、后置处理器简介
|
2月前
|
Java 测试技术 数据处理
JMeter前置处理器-Beanshell前置处理器详解
JMeter的Beanshell前置处理器允许用Java-like语法执行测试前的自定义逻辑,如参数化和数据处理。要添加它,右键点击HTTP请求,选择“添加”->“前置处理器”->“Beanshell前置处理器”。内置变量如`vars`, `ctx`, `log`和`props`提供与JMeter变量、上下文、日志和属性的交互。例如,`vars.get("key")`用于获取变量,`log.info()`用于记录日志。使用这些工具,测试者能增强性能测试的复杂性和准确性。
44 3
|
JSON 数据安全/隐私保护 数据格式
|
存储 JSON 测试技术
JMeter 后置处理器之JSON提取器
JMeter 后置处理器之JSON提取器
375 0
|
存储 Apache 索引
JMeter 后置处理器之正则表达式提取器详解
JMeter 后置处理器之正则表达式提取器详解
91 0
Jmeter系列(19)- 前置、后置处理器的入门介绍
Jmeter系列(19)- 前置、后置处理器的入门介绍
224 0
Jmeter系列(19)- 前置、后置处理器的入门介绍
jmeter使用Beanshell预处理器从指定列表中获取随机值
变量mynation从列表{"china", "US", "UK"}中随机取值   String[] nation = new String[]{"china", "US", "UK"}; Random random = new Random(); int i = random.
2104 0
|
8月前
|
Java 测试技术 Apache
用JMeter做接口压力测试
JMeter是Apache组织开发的基于Java的压力测试工具,它是用 Java 语言编写的
82 0
|
8月前
|
测试技术
JMeter压力测试简单例子
JMeter压力测试简单例子
86 0