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 测试中实现参数化,从而模拟更真实的用户行为和测试场景

相关推荐
aiweker26 分钟前
数据分析(四):Python Pandas数据输入输出全流程指南
python·数据分析·pandas
晨曦54321035 分钟前
Numpy数组与矩阵——python学习
python·矩阵·numpy
梓羽玩Python37 分钟前
7.8K 标星!这个Python神器把MCP服务器变成「搭积木」一样简单!
python·github
a小胡哦1 小时前
TensorFlow深度学习框架:从入门到精通的完整指南
pytorch·python·github·tensorflow
这里有鱼汤1 小时前
出大事了!0.1 + 0.2 居然不等于 0.3,Python我再也不敢用了…
后端·python
这里有鱼汤1 小时前
我用Python做了个“灵犀剪贴”:可以自动记录复制的文本,然后保存到本地
后端·python
Dxy12393102162 小时前
Python对字典列表按某个字段排序
开发语言·python
CF14年老兵2 小时前
别被忽悠!从入门到年薪百万 AI 工程师的真实成长路径
python·aigc·openai
半青年3 小时前
单例模式:全局唯一性在软件设计中的艺术实践
java·c++·python·单例模式