工作中常用的jmeter自带函数有哪些?

发布于:2025-02-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

以下是工作中常用的 JMeter 自带函数及其用途、语法和示例

常用 JMeter 函数列表

1. __Random 函数
  • 用途:生成指定范围内的随机整数。
  • 语法${__Random(min,max,varName)}
  • 示例
    ${__Random(1,100,randomNum)}  // 生成1-100的随机数,存入变量randomNum
    
    场景:参数化用户ID、订单号等需要唯一值的字段。

2. __time 函数
  • 用途:获取当前时间戳(支持格式化)。
  • 语法${__time(format,varName)}
  • 示例
    ${__time(yyyy-MM-dd HH:mm:ss,currentTime)}  // 输出:2024-05-30 14:30:00
    
    场景:接口测试中动态生成时间参数(如订单创建时间)。

3. __threadNum 函数
  • 用途:获取当前线程(用户)的编号。
  • 语法${__threadNum}
  • 示例
    User-${__threadNum}  // 输出:User-1, User-2...
    
    场景:标记不同虚拟用户的操作日志。

4. __counter 函数
  • 用途:生成递增计数器(支持全局/局部计数)。
  • 语法${__counter(true/false,varName)}
  • 示例
    ${__counter(true,globalCounter)}  // 全局计数器,跨线程递增
    ${__counter(false,localCounter)}  // 线程内局部计数器
    
    场景:生成唯一订单号、批量数据标识。

5. __CSVRead 函数
  • 用途:从 CSV 文件中逐行读取数据。
  • 语法${__CSVRead(fileName,columnNum)}
  • 示例
    ${__CSVRead(testdata.csv,0)}  // 读取testdata.csv第1列的值
    
    场景:数据驱动测试(如多账号登录测试)。

6. __StringFromFile 函数
  • 用途:从文本文件中逐行读取字符串。
  • 语法${__StringFromFile(fileName,varName,startSeq)}
  • 示例
    ${__StringFromFile(products.txt,,)}  // 循环读取文件内容
    
    场景:参数化长文本字段(如商品描述)。

7. __V 函数
  • 用途:动态拼接变量名。
  • 语法${__V(varName)}
  • 示例
    ${__V(user_${__threadNum})}  // 访问变量名user_1, user_2...
    
    场景:批量管理不同线程的变量。

8. __eval 函数
  • 用途:执行变量或表达式的动态求值。
  • 语法${__eval(expression)}
  • 示例
    ${__eval(${var1} + ${var2})}  // 计算变量var1和var2的和
    
    场景:动态计算接口参数(如价格总和)。

9. __property 函数
  • 用途:读取 JMeter 系统属性。
  • 语法${__property(propertyName,default,varName)}
  • 示例
    ${__property(user.dir,,currentDir)}  // 获取JMeter启动目录
    
    场景:动态获取环境配置(如文件路径)。

10. __split 函数
  • 用途:按分隔符拆分字符串为数组。
  • 语法${__split(string,delimiter,varName)}
  • 示例
    ${__split(apple,banana,orange,,,fruits)}  // 拆分后,fruits_1=apple, fruits_2=banana...
    
    场景:处理接口返回的逗号分隔数据(如ID列表)。

11. __UUID 函数
  • 用途:生成全局唯一标识符(UUID)。
  • 语法${__UUID}
  • 示例
    ${__UUID}  // 输出:550e8400-e29b-41d4-a716-446655440000
    
    场景:生成唯一请求ID或Token。

12. __FileToString 函数
  • 用途:将整个文件内容读取为字符串。
  • 语法${__FileToString(fileName,encoding,varName)}
  • 示例
    ${__FileToString(payload.json,UTF-8,jsonData)}  // 读取JSON请求体
    
    场景:上传文件内容或复杂JSON请求体。

使用技巧

  1. 函数助手对话框:通过 JMeter 的 Options → Function Helper 查找和生成函数。
  2. 调试技巧:使用 Debug Sampler 查看函数输出值。
  3. 性能优化:避免在高并发下频繁读取大文件(如 __CSVRead 改用 CSV Data Set Config)。