1、随机变量介绍

随机变量应用场景:在一些数据要求不重复,或者对数据取值需要正态分布的时候,我们可以采用随机变量组件来满足需求。

随机变量用户自定义变量的区别:

  • 随机变量(random variable):在线程每个次循环执行时,取值都会重新生成。
  • 用户自定义变量(User defined variables):在同个线程中,用户自定义变量只会被引用一次,后面不管循环运行多少次,变量值都相同。

2、随机变量界面详解

添加随机变量组件的操作:​​选中“线程组”右键 —> 添加 —> 配置元件 —> 随机变量​​。

随机变量界面如下:

性能测试之JMeter配置元件【随机变量】_Jmeter性能测试

随机变量组件的详细说明:

  • 名称:随机变量组件的自定义名称,见名知意最好。
  • 注释:即添加一些备注信息,对该随机变量组件的简短说明,以便后期回顾时查看。
  • 变量名称(​​Variable Name​​):用于在其它元件中引用该值,形式:​​${variable_name}​​。
  • 输出格式(​​Output Format​​):比如设置为000,会格式化为001,002。假设​​Output Format​​设置为​​user_000​​,那么格式化后,第一个参数值为​​user_001​​,第二个参数值为​​user_002​​,以此类推。默认格式为​​Long.toString()​​,但是默认格式下,还是可以当作数字使用。
  • 最小值(​​Minimum Value​​):生成的最小随机数。
  • 最大值(​​Maximum Value​​):生成的最大随机数。
  • 随机种子(​​Seed for Random function​​):随机函数的种子,供随机数生成器使用的seed构造器。如果为空,则使用默认的Random构造器。
  • 每线程(用户)?(​​Per Thread(User)?​​):如果设置为True,那么每个线程独享各自的随机数生成器。如果设置为False,那么所有线程共享同一个随机数生成器。

提示:无特殊需求的情况下,建议​​Seed for Random function​​不填,​​Per Thread(User)?​​设置为False,也就是这两项全部默认。

说明:随机种子是什么?

随机种子是用于产生随机输出的值。

由于随机数函数实际上只是一个函数,输出的“随机”值总是基于种子。换句话说,如果您使用相同的种子值为随机输出生成器播种,您将得到相同的“随机”结果。这就是为什么大多数随机数发生器,使用系统时间来播种它们自己,因为这是高度可变的。

现在回到你的问题。如果你指定一个种子,你会得到固定的随机输出。这使您可以轻松地使用完全相同的随机值重复测试,只需传入相同的种子即可。

3、随机变量的使用

(1)测试计划内包含的元件

添加元件操作步骤

  1. 创建测试计划。
  2. 创建线程组:​​选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组​​。
  3. 在线程组中添加配置元件"随机变量"组件:​​选中“线程组”右键 —> 添加 —> 配置元件 —> 随机变量​​。
  4. 在线程组里面添加取样器“HTTP请求”组件:​​选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求​​。
  5. 在线程组里面添加监听器“察看结果树”组件:查看结果,​​选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树​​。

最终测试计划中的元件如下:

性能测试之JMeter配置元件【随机变量】_软件测试_02

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

提示:如果有多个线程组,需要使用同一个随机变量组件,就把随机变量组件提到和线程组同一级。

(2)线程组界面内容

我们定义循环次数为3,也就是进行3次该请求。(可以修改线程数)

性能测试之JMeter配置元件【随机变量】_Jmeter性能测试_03

 

 

(3)随机变量界面内容

随机变量界面中,我们定义最小值为1,最大值为999,输出格式为000,。

随机变量的引用名称为​​randomVariables​​,之后我们使用​​${randomVariables}​​的方式,就能够引用该值了。

如下图所示:

性能测试之JMeter配置元件【随机变量】_jmeter_04

 

 

(4)HTTP请求界面内容

我们在HTTP请求界面中可以引用随机变量的值,可以写在任何可输入的位置。

如下图所示:

性能测试之JMeter配置元件【随机变量】_线程组_05

 

5)查看结果

我们可以看到下图中,每个请求中的随机变量都是不同的值,证明随机变量组件成功的生成了我们所需要的数值。

性能测试之JMeter配置元件【随机变量】_接口性能测试_06

 以上就是JMeter中随机变量组件的使用方法。