• 高效使用 JMeter 生成随机数:探索 Random 和 UUID 算法


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

    随机数函数

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

    ${__Random(min,max)}
    

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

    查看传过去的数据:

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

    生成代码:

    1. import java.util.Random;
    2. Random rand = new Random();
    3. int num = rand.nextInt(900) + 100;
    4. 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 提供了多种方式来生成随机数,可以根据不同的需求选择合适的方法。在测试过程中,合理使用随机数可以提高测试的真实性和可信度。

    最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

  • 相关阅读:
    MySQL的SQL基础(五)
    终于搞懂了 super(XXXX, self).__init__()的作用是啥了
    Linux友人帐之环境变量
    详解如何利用Pytest Cache Fixture实现测试结果缓存
    OpenText 安全取证软件——降低成本和风险的同时,简化电子取证流程
    Python学习笔记(十五)模块与客户端
    巧用 redis 实现点赞功能,它不比 mysql 香吗?
    【AIGC核心技术剖析】Hotshot-XL 一种 AI 文本转 GIF 模型(论文 + 代码:经过训练可与Stable Diffusion XL一起使用)
    Python手写贝叶斯网络
    Git的注册登录以及具体使用
  • 原文地址:https://blog.csdn.net/2301_78276982/article/details/136763508