JMeter 随机数生成器简介:使用 Random 和 UUID 算法

在压力测试中,经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值,本文来具体介绍一下。

随机数函数

JMeter 提供了多个用于生成随机数的函数,其中最常用的是 __Random 函数。该函数可以生成一个指定范围内的随机整数或浮点数。语法如下:

复制代码
${__Random(min,max)}

其中,minmax是生成随机数的范围,可以是整数或浮点数。例如,${__Random(1,100)}会生成一个 1 到 100 之间的随机整数。以下是随机手机号最后 3 位数字的例子:

查看传过去的数据:

也可以用 BeanShell 来实现。添加前置处理器: BeanShell PreProcessor。

生成代码:

复制代码
import java.util.Random;

Random rand = new Random();
int num = rand.nextInt(900) + 100;
vars.put("random", String.valueOf(num));

然后在 body 中引用变量 random:${random}

UUID 函数

UUID 用来生成一个随机 ID。UUID 和 Random 函数的区别是:Random 生成随机数,是可能会重复的。UUID 是一定不会重复的。语法如下:

复制代码
${__UUID()}

随机字符串函数

JMeter 还提供了__RandomString函数,可以生成指定长度的随机字符串。该函数有多个参数,可以指定生成字符串的长度、字符集和前缀等。语法如下:

复制代码
${__RandomString(length,charsToUse,prefix)}

其中,length是生成字符串的长度,charsToUse是可用字符集合,prefix是字符串的前缀。

例如,${__RandomString(10,abcdefghijklmnopqrstuvwxyz,TEST)}会生成一个以"TEST"为前缀、长度为 10、由小写字母组成的随机字符串。

随机变量函数

除了使用内置函数生成随机数外,JMeter 还支持使用随机变量生成随机数。随机变量可以通过 CSV 数据 文件、用户定义的变量等方式进行定义。语法如下:

复制代码
${__V(myVar_${__Random(1,5)})}

其中,myVar_是变量名的前缀,__Random(1,5)会生成一个 1 到 5 之间的随机整数,最终生成的随机变量名如myVar_3

使用随机变量可以更加灵活地控制生成的随机数。

总结

JMeter 提供了多种方式来生成随机数,可以根据不同的需求选择合适的方法。在测试过程中,合理使用随机数可以提高测试的真实性和可信度。

知识扩展:

相关推荐
山土成旧客2 分钟前
【Python学习打卡-Day17】从二分类到多分类:ROC曲线、三大平均指标与风控利器MCC/KS
python·学习·分类
love530love5 分钟前
【SD WebUI踩坑】启动报错 Expecting value: line 1 column 1 (char 0) 的终极解决方案
人工智能·windows·python·github·stablediffusion
曲幽5 分钟前
Flask入门实战:轻松掌握模板渲染与静态文件加载
css·python·html·web·js·image·templates·assets
ExiFengs10 分钟前
使用Java 8函数式编程优雅处理多层嵌套数据
java·开发语言·python
海阔天空_201812 分钟前
元祖、列表、集合、字典区别
python
一只会奔跑的小橙子17 分钟前
一次营销试算接口压测(jmeter+groovy)
jmeter
天地沧海20 分钟前
各种和数据分析相关python库的介绍
python·数据挖掘·数据分析
做测试的小薄20 分钟前
用Charles进行手机APP抓包终极指南(含抓取网站过滤、HTTPS解密、断点、弱网模拟)
测试工具·抓包·断点·抓包工具·弱网·chrales
sz老兄闯21 分钟前
清结算系统事件化实战:高并发、高可用架构解析
python·plotly·django·flask·scikit-learn·pygame·tornado
Wise玩转AI8 小时前
Day 27|智能体的 UI 与用户交互层
人工智能·python·ui·ai·chatgpt·ai智能体