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

相关推荐
benchmark_cc23 分钟前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读35 分钟前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放1 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下1 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐2 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹2 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi
cpolar技术支持2 小时前
网关加 gzip,同时开启 chunked,下载回来的包解不开:把两层编码的解压顺序与长度核对做成只读页
python·http·网络编程·socket·内网穿透
小嘉丶学长2 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
迪菲赫尔曼2 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
用户8356290780512 小时前
Python 调整 Excel 工作表显示设置
后端·python