码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JMeter 随机数生成器简介:使用 Random 和 UUID 算法


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

    随机数函数

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

    ${__Random(min,max)}
    

    其中,min和max是生成随机数的范围,可以是整数或浮点数。例如,${__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 提供了多种方式来生成随机数,可以根据不同的需求选择合适的方法。在测试过程中,合理使用随机数可以提高测试的真实性和可信度。

    知识扩展:

    • JMeter 插件大全:提高性能测试效率
    • JMeter 接口自动化测试入门指南
  • 相关阅读:
    1024程序员节献礼,火山引擎ByteHouse带来三重产品福利
    Android 备忘录,记事本程序设计
    【网站架构】集群性能并非无限扩展,几千万几亿的网站系统贵在哪
    IO多路复用
    浅尝Flutter
    docker 常用命令整理
    Transformers
    【华为OD机试python】斗地主之顺子【2023 B卷|100分】
    图文并茂演示小程序movable-view的可移动范围
    交通物流模型 | Python实现基于张量分解的交通流量时空模式挖掘(出租车车载GPS数据、公交卡刷卡数据、POI的分布数据)
  • 原文地址:https://blog.csdn.net/LiamHong_/article/details/133907597
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号