一、函数助手对话框的访问方式
- 打开路径:
JMeter 菜单栏 → Tools → Function Helper Dialog(函数助手对话框)
或者使用快捷键:Ctrl+Shift+F1
- 操作流程:
选择函数 → 填写参数 → 点击 Generate 生成函数表达式 → 复制到测试脚本中。
二、常用函数分类详解
1. 参数化函数(数据驱动)
函数名 | 语法示例 | 功能描述 | 应用场景 |
__CSVRead | ${__CSVRead(data.csv,0)} | 读取 CSV 文件中的特定列数据。 | 数据驱动测试(多账号登录)。 |
__StringFromFile | ${__StringFromFile(data.txt,,,)} | 逐行读取文本文件内容。 | 循环使用文件中的测试数据。 |
__Random | ${__Random(1,100,ID)} | 生成指定范围内的随机整数。 | 避免缓存,生成唯一订单号。 |
__RandomString | ${__RandomString(10,abcdef12345)} | 生成指定长度的随机字符串。 | 模拟随机用户名或验证码。 |
2. 时间与日期函数
函数名 | 语法示例 | 功能描述 | 应用场景 |
__time | ${__time(yyyy-MM-dd HH:mm:ss)} | 生成当前时间戳(支持自定义格式)。 | 记录请求时间或生成唯一时间戳。 |
__timeShift | ${__timeShift(yyyy-MM-dd,,P1D,,)} | 生成相对当前时间的偏移日期。 | 测试未来或过去日期的业务逻辑。 |
3. 变量操作函数
函数名 | 语法示例 | 功能描述 | 应用场景 |
__V | ${__V(var_${__counter)})} | 动态引用变量名(嵌套变量)。 | 根据条件选择不同变量。 |
__eval | ${__eval(${var1}_${var2})} | 计算表达式并返回结果。 | 动态拼接变量值。 |
__setProperty | ${__setProperty(globalVar,123)} | 设置全局变量(跨线程组共享)。 | 统计全局计数器或配置共享参数。 |
4. 逻辑与计算函数
函数名 | 语法示例 | 功能描述 | 应用场景 |
__counter | ${__counter(FALSE,)} | 生成递增计数器(支持全局或局部模式)。 | 生成唯一序列号或统计请求次数。 |
__jexl3 | ${__jexl3(1 + 2 * ${num},)} | 执行数学或逻辑表达式。 | 动态计算请求参数或断言条件。 |
5. 其他实用函数
函数名 | 语法示例 | 功能描述 | 应用场景 |
__threadNum | ${__threadNum} | 返回当前线程编号(从 1 开始)。 | 区分不同线程的数据或行为。 |
__UUID | ${__UUID} | 生成唯一 UUID(通用唯一标识符)。 | 模拟唯一订单号或会话 ID。 |