1、随机变量介绍
随机变量应用场景:在一些数据要求不重复,或者对数据取值需要正态分布的时候,我们可以采用
随机变量
组件来满足需求。
随机变量
与
用户自定义变量
的区别:
-
-
随机变量(random variable)
:在线程每个次循环执行时,取值都会重新生成。
-
用户自定义变量(User defined variables)
:在同个线程中,
用户自定义变量
只会被引用一次,后面不管循环运行多少次,变量值都相同。
-
2、随机变量界面详解
添加
随机变量
组件的操作:
选中“线程组”右键 —> 添加 —> 配置元件 —> 随机变量
。
随机变量
界面如下:
随机变量
组件的详细说明:
-
-
名称
:随机变量组件的自定义名称,见名知意最好。
-
注释
:即添加一些备注信息,对该随机变量组件的简短说明,以便后期回顾时查看。
-
变量名称
(
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)测试计划内包含的元件
添加元件操作步骤
:
-
-
创建测试计划。
-
创建线程组:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。
-
在线程组中添加配置元件"随机变量"组件:
选中“线程组”右键 —> 添加 —> 配置元件 —> 随机变量
。
-
在线程组里面添加取样器“HTTP请求”组件:
选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。
-
在线程组里面添加监听器“察看结果树”组件:查看结果,
选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。
-
最终测试计划中的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
提示:如果有多个线程组,需要使用同一个
随机变量
组件,就把
随机变量
组件提到和线程组同一级。
(2)线程组界面内容
我们定义循环次数为3,也就是进行3次该请求。(可以修改线程数)
(3)随机变量界面内容
随机变量
界面中,我们定义最小值为1,最大值为999,输出格式为000,。
随机变量
的引用名称为
randomVariables
,之后我们使用
${randomVariables}
的方式,就能够引用该值了。
如下图所示:
(4)HTTP请求界面内容
我们在HTTP请求界面中可以引用
随机变量
的值,可以写在任何可输入的位置。
如下图所示:
5)查看结果
我们可以看到下图中,每个请求中的随机变量都是不同的值,证明
随机变量
组件成功的生成了我们所需要的数值。
以上就是JMeter中
随机变量
组件的使用方法。
1.【yolov5报错】Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘--yolov5-5.0\models\common.py
2.Java系列 | Linux系统中运行JMeter脚本
3.【官方文档】Nginx模块Nginx-Rtmp-Module学习笔记(一) RTMP 命令详解
4.WebSocket 实战之——【WebSocket 原理】
5.Oracle,postgresql,MySQL如何运行SQL文件