Jmeter取一个10位不重复的随机数

本文介绍如何使用JMeter生成不重复的标识符,通过结合时间戳与随机数避免生成重复ID,适用于高并发场景。

jmeter自带的函数__random()是会重复的,为了避免此情况,采用时间戳+随机数的方法,如下:

long phone=${__time(/1000,)} + ${__Random(1,100000,)};
System.out.println(phone);

这里写图片描述

这里,前半是取一个10位的时间戳,后面是取1个[1,100000]的随机数字,可重复,这个随机范围越大,最后生成的随机数越不容易重复,当大并发时,随机数取的很快,所以还是有极低可能重复的。因此在许可范围内,尽量拉大随机数范围。
${__time(,)}则是去当前毫秒时间,13位的数字,也可以用来取更精确的时间戳

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中生成重复随机数,并在需要的地方使用它们。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值