jmeter之变量随机参数化以及解决多线程不会随机变化

参考链接:

https://www.cnblogs.com/Testing1105/p/12743475.html

jmeter 使用random函数多线程运行时数据不会随机变化?_jmeter 线程组循环执行时 变量不变-CSDN博客

1、如下图所示,需要对请求参数 autor 和phone进行随机参数化

2、目前有三种方式可以解决,第一种就是通过如下图所示,添加用户定义的变量组件;

3、再点击Tools-函数助手对话框,来给参数添加随机函数,

4、点击函数助手对话框 显示如下弹窗,输入最大值、最小值,点击生成按钮,复制函数字符串${__Random(1,999,)};

5、步骤4中的函数字符串复制到 用户定义的变量 参数对应的值中。

6、接口的该请求参数则需要使用${author}来代替,如下图。该方法有个缺陷就是无论是通过多线程还是循环控制器,该随机变量都只获取一次,因此还需要通过另外两种方式来解决这个问题。

7、如果需要每次请求接口,该参数的值都随机变化就需要直接将步骤4生成的函数字符串复制到该接口的参数中,如图所示。这样无论是多线程还是循环控制器每次该接口都会随机生成参数

8、除了将函数字符串直接添加到参数中外还有一种方式就是添加随机变量,添加过程如图所示。

9、在随机变量组件中输入变量名称、最小值、最大值、没线程(用户)?:选择True

每线程(用户)(Per Thread(User)?):如果设置为False,那么所有线程共享同一个随机数生成器,如果设置为True,那么每个线程独享各自的随机数生成器。
 

随机变量组件用法如下图所示

变量名称(Variable Name):用于控制在其它元素中引用该值,形式:$(variable_name}

输出格式(Output Format):可选格式,比如000,格式化为001,002,Minimum Value,Maximum Value都设置为1,Number format设置为000,那么格式化后,第一个参数值为001,第二个为002,……,以此类推,假设format设置为user_000,那么格式化后,第一个参数值为user_001,第二个参数值为user_002,...,以此类推。默认格式为Long.toString()

最大值(Minimum Value):生成的最小随机数

最小值(Maximum Value):生成的最大随机数

随机种子(Seed for Random function) :供随机数生成器使用的seed.如果为空,则使用默认的Random构造器

每线程(用户)(Per Thread(User)?):如果设置为False,那么所有线程共享同一个随机数生成器,如果设置为True,那么每个线程独享各自的随机数生成器

运行后该数据在1-1000000之间随机生成

10、接下来就跟步骤6类似,接口的该请求参数则需要使用${author}来代替。该方法也可以做到每次请求接口都会生成一个随机值。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,参数化是为了让参数的值由固定状态变为动态的,每次访问的参数时不一样的。参数化的作用是可以将项目中多次用到的数据进行参数化,比如用户名、密码,也可以将经常变动的信息参数化,比如IP地址等。有多种方法可以实现参数化,包括使用CSV Data Set Config(CSV数据文件设置)、函数助手、用户参数和用户自定义变量等方法。 使用CSV Data Set Config方法,首先需要定义一个txt文件,文件中写入参数的值。然后在线程组中添加HTTP请求,并在配置元件中添加CSV数据文件设置。在数据文件设置页中,设置数据,指定文件名和变量名称,将这些变量引用到HTTP请求的参数中去。 使用函数助手方法,同样需要提前创建含有参数值的txt文件。然后在HTTP请求中添加函数助手,并在函数助手页进行设置,选择_CSVRead功能,指定txt文件的根目录和参数所在的列。生成函数字符串后,将函数字符串添加到变量的值中。 使用用户参数方法,首先创建线程组,并在用户参数中添加变量。然后在HTTP请求中将固定的IP地址和端口号改成刚刚添加的变量名。 使用用户自定义变量方法,给线程组添加自定义变量,并添加变量。然后将HTTP请求中的参数值替换为自定义变量。 以上是JMeter中实现参数化的四种方式,根据不同的场景和需求选择合适的方法进行参数化。[1][2][3]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值