我有一个Jmeter线程组,它在uuid整个过程中多次使用该变量.
uuid 定义为 12345678-1234-4444-a123-${__Random(111111111111,999999999999)}
换句话说,它以固定系列开始,12345678-1234-4444-a123-然后随机化最后十二个字符.
我想同时运行多个线程,这给出了以下问题.
当我uuid在线程组中定义为用户定义的变量时,它会随机化一次,然后将该值用于我的所有线程.如果我将它设置为全球,则会发生同样的事情.
当我完成时,我将同时运行数千个线程,因此我无法进行手动解决方案或读取/写入磁盘.
有没有人有这方面的经验?我已经通过文档和谷歌了很长一段时间,但似乎无法找到解决方案.
简而言之:我需要随机化一个变量,在整个线程组中使用该变量,并在几个同时线程中运行该线程组.变量在每个不同的线程中应该具有不同的随机值.
Ali*_*lik 21
假设您可以简单地使用随机变量配置元素:
Variable Name: uuid
Output Format: 12345678-1234-4444-a123-000000000000
Minimum Value: 111111111111
Maximum Value: 999999999999
Per Thread (User): True
Run Code Online (Sandbox Code Playgroud)
生成的价值
${uuid};Test Plan
Thread Group
Random Variable
...
Sampler 1
Sampler 2
...
Run Code Online (Sandbox Code Playgroud)
例如
iteration: 1
thread: 1
sampler 1: VALUE_1-1
sampler 2: VALUE_1-1
...
thread: 2
sampler 1: VALUE_2-1
sampler 2: VALUE_2-1
...
...
iteration: 2
thread: 1
sampler 1: VALUE_1-2
sampler 2: VALUE_1-2
...
thread: 2
sampler 1: VALUE_2-2
sampler 2: VALUE_2-2
...
...
Run Code Online (Sandbox Code Playgroud)
为上面给出的模式实现的示例脚本:rnd-var.jmx
根据随机变量的Random Seed字段描述:
默认值是当前时间(以毫秒为单位).如果在Per Thread设置为true时使用相同的种子值,则将根据Random类获得earch Thread的相同值.
如果使用相同的种子创建两个Random实例,并且对每个实例都进行相同的方法调用序列,则它们将生成并返回相同的数字序列.
请记住实现具有高并发性的方案(如下面的注释中所述).要克服此问题,您可以使用随机化种子,例如${__Random(MIN,MAX)}作为Seed for Random function字段的值.
| 归档时间: |
|
| 查看次数: |
28325 次 |
| 最近记录: |