jmeter随机参数化不重复_利用迭代运算生成不重复的随机数

c2f84dd5f02c14b4ccc5e2dd6935a911.png

如下表格,A列中需要生成随机数。

257ab90d2e264cd698b7e814fb479776.png

如果直接用RANDBETWEEN()可以生成随机数,但可能会有重复的数值。

一般需要编程,写一段代码,思路就是做循环,如果发现有重复的,继续重新生成。

今天借助迭代运算,其实也相当于循环。

先看迭代运算最简单的原理。

如果A1单元格中输入公式=A1+1

正常情况下,将出现以下的“循环错误”。

原因是A1怎么可以自己加上自己?

ba9c7c0f899edc32f833b5e608b36200.png

但是如果启用了迭代运算,就会有结果。

【文件】,【选项】,按如下设置。

f4222e6d384b61c49614614eedf6b3b2.png

迭代次数可以设置,这里设置了100,结果就是100

相当于A1最开始为0,加1,再加1,自己得到的结果加1,加100次

48778f4eea852f8e49e7cd79e8e59b1c.png

就相当于循环计算100次。

接下来,将B1的公式如下,就是统计A1:A10出现的次数。

506701afb44264c9b0bf33ba561973a6.png

A1的公式如下:

就是如果B列加起来的数字不等于10,说明有重复的,有重复的,A1的值用INT(RAND()*30+1)重新取值,没有重复就仍用A1的值。

4d702214ff3f4aa37bfa74dadc1b924f.png

A1公式向下填充,这样A列就得到的是不重复的唯一随机数。

63206be78006d5956ee90145b378ac3b.png

子曰:用之则行,不用则藏。

意思是说,如果你用我的这些建议,就马上行动,知行合一,如果你不用,就赶紧收藏,以绝后患。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,要生成重复随机数,可以使用两种方法。 方法一:使用BeanShell PreProcessor 1. 在需要生成随机数的Sampler(例如HTTP请求)之前,添加一个BeanShell PreProcessor。 2. 编辑BeanShell PreProcessor的代码,使用以下代码生成重复随机数: import java.util.Random; import java.util.HashSet; Random random = new Random(); HashSet<Integer> set = new HashSet<Integer>(); vars.put("randomNumber", ""); while(set.size() < 300) { int number = random.nextInt(); //生成随机数 if(!set.contains(number)) { set.add(number); //将随机数添加到集合中 vars.put("randomNumber", vars.get("randomNumber") + number + ","); //将随机数以逗号分隔的形式保存到JMeter变量中 } } vars.put("randomNumber", vars.get("randomNumber").substring(0, vars.get("randomNumber").length() - 1)); //去除最后一个逗号 3. 在需要使用随机数的地方,可以通过${randomNumber}引用生成的不重复随机数。 方法二:使用Random CSV Data Set Config元件 1. 在线程组下,添加一个Random CSV Data Set Config元件。 2. 在Random CSV Data Set Config元件的文件名字段中,输入一个csv文件名,例如random_numbers.csv。 3. 在csv文件中,每一行输入一个不重复随机数。 4. 在需要使用随机数的地方,使用${__CSVRead(random_numbers.csv,0)}引用随机数。 通过以上两种方法,可以在JMeter生成重复随机数,并在需要的地方使用它们。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值