JMeter中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等

在JMeter中,您可以使用内置的函数和一些额外的插件来获取随机数、唯一ID、时间日期以及截取指定位数的字符。以下是一些常用的方法:

  1. 获取随机数

    • 使用__Random函数,您可以在指定的最小值和最大值之间生成一个随机数。例如,${__Random(100, 999)}将生成一个100到999之间的随机数。
    • 如果您需要一个随机数,并且希望在一次测试运行中保持不变,可以为其指定一个变量名,例如${__Random(100, 999, myRandomVar)}
  2. 获取唯一ID

    • 您可以使用java.util.UUID来生成一个唯一的ID。在一个BeanShell Sampler中,您可以使用以下代码:

      复制代码

      java

      import java.util.UUID;
      UUID uuid1 = UUID.randomUUID();
      vars.put("myUniqueID", (uuid1.toString()).replaceAll("-",""));
      
    • 这将生成一个不带连字符的UUID,并将其存储在名为myUniqueID的变量中。

  3. 获取时间日期

    • 使用__time函数,您可以获取当前的时间戳或者格式化的日期时间。例如,${__time(yyyy-MM-dd)}将获取当前日期。
    • 如果您需要在当前日期上增加或减少天数,可以使用__TimeShift函数。例如,${__TimeShift(yyyy-MM-dd,,PT5D,,)}将在当前日期上加5天。
  4. 截取指定位数的字符

    • 使用__substring函数,您可以从一个字符串中截取指定位数的字符。例如,${__substring(yourVariable, 0, 5)}将从变量yourVariable中截取前5个字符。

    • 您也可以使用BeanShell Sampler中的Java代码来截取字符串。例如:

      复制代码

      java

      String originalString = vars.get("yourVariable");
      String substring = originalString.substring(0, 5);
      vars.put("mySubstring", substring);
      
    • 这将把截取的子字符串存储在名为mySubstring的变量中。

以上是JMeter中常用的一些函数和方法,可以帮助您在测试中生成随机数、唯一ID、时间日期以及截取字符串。

更多jmeter参数化函数

Meter 提供了多种参数化函数,可以帮助您在测试中实现动态数据的生成和处理。以下是一些常用的 JMeter 参数化函数:

  1. 随机数函数 (__Random)

    • 用于生成指定范围内的随机整数。例如,${__Random(1, 100)} 会生成一个1到100之间的随机数 。
  2. 随机字符串函数 (__RandomString)

    • 用于生成指定长度的随机字符串。例如,${__RandomString(10)} 会生成一个长度为10的随机字符串 。
  3. 当前时间戳函数 (__time)

    • 用于获取当前时间的时间戳。例如,${__time(yyyy-MM-dd)} 会获取当前日期 。
  4. 随机日期函数 (__RandomDate)

    • 用于生成指定范围内的随机日期。例如,${__RandomDate(2010-01-01, 2020-12-31)} 会生成一个2010年1月1日到2020年12月31日之间的随机日期 。
  5. 机器IP函数 (__machineIP)

    • 用于获取本机的IP地址。例如,${__machineIP} 会返回本机的IP地址 。
  6. 机器名称函数 (__machineName)

    • 用于获取本机的计算机名。例如,${__machineName} 会返回本机的计算机名 。
  7. 命令行属性函数 (__P)

    • 用于获取命令行中定义的属性。例如,${__P(property_name)} 会获取命令行中定义的属性值 。
  8. JMeter属性函数 (__property)

    • 用于获取 JMeter 属性。例如,${__property(jmeter.version)} 会获取 JMeter 的版本号 。
  9. 正则表达式提取函数 (__regexFunction)

    • 与后置处理器的正则表达式提取器用法相同,用于从响应中提取数据。例如,${__regexFunction(匹配的正则表达式, 组号, 匹配组的变量名)}
  10. 字符串截取函数 (__split)

    • 用于截取字符串的一部分。例如,${__split(yourVariable, -1, 5)} 会从变量 yourVariable 中截取最后5个字符 。
  11. 测试计划名称函数 (__TestPlanName)

    • 用于获取当前测试计划的名称。例如,${__TestPlanName} 会返回当前测试计划的名称 。
  12. 线程编号函数 (__threadNum)

    • 用于获取当前线程的编号。例如,${__threadNum} 会返回当前线程的编号 。
  13. UUID函数 (__UUID)

    • 用于生成一个唯一的ID。例如,${__UUID} 会生成一个UUID 。
  14. 变量表达式函数 (__V)

    • 用于执行变量表达式并返回结果。例如,${__V(a{b1})} 可以处理嵌套变量 。
  15. XPath函数 (__XPath)

    • 用于匹配XML文件内容。例如,${__XPath(//tag[@attribute='value'])} 可以从XML中提取数据 。

这些函数可以帮助您在 JMeter 测试中实现参数化,从而模拟更真实的用户行为和测试场景

相关推荐
Captain823Jack4 分钟前
预训练语言模型——BERT
人工智能·python·深度学习·神经网络·语言模型·自然语言处理·bert
Eiceblue27 分钟前
Python 在PDF中添加数字签名
开发语言·vscode·python·pycharm·pdf
q567315231 小时前
利用Python实现Union-Find算法
android·python·算法
晒足以百八十1 小时前
数据挖掘实训:基于CEEMDAN与多种机器学习模型股票预测与时间序列建模
python·机器学习·数据挖掘
云采1 小时前
解锁 JMeter 神秘力量:Runtime Controller 实战指南
测试工具·jmeter·压力测试
Quz1 小时前
Wireshark编译手册(Windows)
windows·测试工具·wireshark
SCBAiotAigc1 小时前
机器学习无处不在,AI顺势而为,创新未来
人工智能·python·机器学习·模型训练·人工智能发展史·人工智能可以发展的方向
lichong9512 小时前
【Flutter&Dart】tolyui_feedback组件例子效果(23 /100)
android·flutter·api·postman·tooltip·smartapi
old_power2 小时前
Python基于YOLOv8和OpenCV实现车道线和车辆检测
python·opencv·yolo·计算机视觉