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

相关推荐
临沂GEO3 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白3 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
荷蒲4 小时前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
网安蟹佬霸4 小时前
# 网络流量分析实战:从Wireshark到入侵检测系统构建(2026最新版,附完整流量分析链与IDS规则集)
网络·测试工具·安全·开源·wireshark·密码学·哈希算法
数据狐(Datafox)6 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机6 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor6927 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy7 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽8 小时前
真实即粗糙,光滑是伪造
人工智能·python
一次旅行8 小时前
Attention机制从数学到工程:拆解缩放点积+多头注意力|附可运行PyTorch实现与踩坑指南
人工智能·pytorch·python