软件测试工具JMeter函数使用指南

1. 基础语法和调用方式
函数的标准格式为:
text
${__functionName(arg1, arg2, arg3)}
以 ${__ 开头,} 结尾
参数之间用英文逗号 , 分隔
函数可以嵌套,内层先执行
快速生成函数的方法:
打开 JMeter - 菜单栏 Tools - Function Helper Dialog(函数助手对话框),选择函数、填写参数,点击生成即可得到格式化好的字符串,直接复制到需要的地方。

2. 常用函数分类速查
变量/属性
__P / __property:读取 JMeter 属性(命令行 -J 传入),如 ${__P(host,localhost)}
__setProperty:动态设置属性,常用于跨线程组传值,如 ${__setProperty(token,${token},)}
__V:嵌套分析变量(如变量名本身也是动态的),如 ${__V(user_${id})}
随机数/字符串
__Random:生成指定范围的随机整数,如 ${__Random(1000,9999,orderId)}
__RandomString:生成随机字符串(可指定字符集),如 ${__RandomString(8,abcdef123,)}
__RandomDate:生成指定范围内的随机日期,如 ${__RandomDate(2024-01-01,2024-12-31,yyyy-MM-dd,)}
__UUID:生成 UUID(默认带横线),如 ${__UUID}
时间
__time:获取当前时间戳或按格式输出时间,如 ${__time(yyyyMMddHHmmss,)}
__timeShift:以指定格式进行时间加减运算,如 ${__timeShift(yyyy-MM-dd HH:mm:ss,,P1D,,)}
计数器/数字
__counter:线程安全的自增计数器,如 ${__counter(FALSE,myCounter)}
__intSum:整数求和,如 ${__intSum(5,8,result)}
__longSum:长整型求和,如 ${__longSum(${a},${b},)}
字符串处理
__urlencode:URL 编码,如 ${__urlencode(你好)} - %E4%BD%A0%E5%A5%BD
__urldecode:URL 解码,反向操作
__split:按分隔符拆分字符串到一系列变量,如 ${__split(apple,banana,grape,fruits,)}
__changeCase:大小写转换,如 ${__changeCase(Hello World,UPPER,)} 输出 HELLO WORLD
__char:将 ASCII/Unicode 码转换为字符,如 ${__char(65,)} - A
思路/脚本
__jexl3:执行 JEXL3 表达式,常用于条件判断,如 ${__jexl3(${count} > 5,)}
__if:根据条件返回不同值,如 ${__if(${status} == 200,OK,FAIL)}
__groovy:执行 Groovy 脚本(推荐替代 BeanShell),如 ${__groovy(new Date().format('yyyyMMdd'))}
__eval:执行一个字符串表达式,如 ${__eval(${myVar})}
文件操作
__CSVRead:从 CSV 文件中按顺序读取指定列,如 ${__CSVRead(users.csv,1)}
__StringFromFile:每次调用读取文件的新一行,如 ${__StringFromFile(data.txt,,,)}
环境/机器信息
__TestPlanName:返回当前测试计划名称,如 ${__TestPlanName}
__machineName:返回运行 JMeter 的机器名,如 ${__machineName}
__threadNum:当前线程在线程组内的编号(从1开始),如 ${__threadNum}

湖南卓码软件测评有限公司是一家专注于提供第三方计算机软件测试服务的专业测评机构。卓码寓意着企业将始终以卓越的服务质量为广大用户的软件产品品质保驾护航,致力于成为国内软件测评领域的标杆企业。

点击后扫码 关注我们

夜雨聆风