JMeter 函数
JMeter 函数
JMeter 函数可以被称为特殊值,可以填充测试树中任何采样器或其他元素的字段。
JMeter 中函数的语法:
${__functionName(var1,var2,var3)} ,
这里的"__functionName"匹配函数的名称,括号括起来发送给函数的参数。
如果函数参数包含逗号,那么一定要用"\"转义它,否则JMeter 会将其视为参数分隔符。
例如:
${__time(EEE\, d MMM yyyy)}
函数列表
功能 |
名称 |
说明 |
Information |
threadNum |
获取线程号。 |
Information |
samplerName |
获取采样器名称(标签)。 |
Information |
log |
记录(或显示)消息(并返回值)。 |
Information |
machineName |
获取本地机器名称。 |
Input |
StringFromFile |
从文件中读取一行。 |
Input |
FileToString |
读取整个文件。 |
Input |
CSVRead |
从 CSV 分隔文件中读取。 |
Input |
XPath |
使用 XPath 表达式从文件中读取。 |
Calculation |
Counter |
生成一个递增的数字。 |
Calculation |
intSum |
添加整数。 |
Calculation |
longSum |
添加长数字。 |
Calculation |
Random |
生成一个随机数。 |
Calculation |
RandomString |
生成随机字符串。 |
Scripting |
BeanShell |
运行 BeanShell 脚本。 |
Scripting |
javaScript |
处理 JavaScript (Mozilla Rhino)。 |
Scripting |
jexl, jexl2 |
评估 Commons Jexl 表达式。 |
Properties |
Property |
读取属性。 |
Properties |
P |
读取属性(速记方法)。 |
Variables |
Split |
将字符串拆分为变量。 |
Variables |
V |
评估变量名称。 |
Variables |
eval |
评估变量表达式。 |
String |
regexFunction |
使用正则表达式解析先前的响应。 |
String |
escapeOroRegexpChars |
引用 ORO 正则表达式使用的元字符。 |
String |
Char |
从数字列表生成 Unicode 字符值。 |
String |
Unescape |
处理包含 Java 转义符的字符串(例如 \n & \t)。 |
String |
unescapeHtml |
解码 HTML 编码的字符串。 |
String |
escapeHtml |
使用 HTML 编码对字符串进行编码。 |
String |
TestPlanName |
返回当前测试计划的名称。 |
注意: JMeter 函数和变量总是区分大小写的。
让我们考虑一个Log Function的例子来理解JMeter中函数的使用。
JMeter 日志函数的语法:
首先,我们将使用 HTTP 请求采样器创建一个简单的测试计划。
创建 JMeter 测试计划
转到您的 JMeterbin 文件夹并双击 Apache JMeter".jar"文件以启动 JMeter 界面。
选择测试计划节点并右键单击所选项目。
将鼠标悬停在"添加"选项上,然后将显示元素列表。
选择线程(用户)> 线程组。
将此线程组重命名为线程组 1、
添加采样器
我们必须在我们的线程组中添加一个 HTTP 请求采样器。
选择线程组并右键单击所选项目。
将鼠标悬停在"添加"选项上,然后将显示元素列表。
选择采样器 > HTTP 请求选项。
它将添加一个空的 HTTP 请求采样器。
配置HTTP Request Sampler的字段为
名称-HTTP 请求采样器 1、
服务器名称或 IP-在我们的例子中,网络服务器名称将是 www.lidihuo.com .
协议-此字段保持不变。
路径-我们将其写为"/"(斜线)。它表示我们想要服务器的根页面。
现在,复制整个线程组 1 并在我们的测试计划中粘贴三遍。
将其他线程组分别重命名为线程组 2 和线程组 3、
将其他采样器分别重命名为 HTTP 请求 2 和 HTTP 请求 3、
下图显示了我们测试计划的目录结构。
添加监听器
选择"测试计划"节点并右键单击所选项目。
将鼠标悬停在"添加"选项上,然后将显示元素列表。
选择侦听器 > 摘要报告。
保存并执行测试计划
点击文件 > 将测试计划另存为。
将整个测试计划保存为 Function_test.jmx
单击"运行">"开始"以执行测试计划。
验证输出
因此,我们已经成功地执行了我们的测试计划。现在,我们将使用日志函数作为第一个 HTTP 请求采样器的名称。
点击运行>开始执行测试计划。
您可以看到日志函数打印了"Hello World"而不是完整的采样器名称。让我们再考虑一个时间函数的例子,我们将再次使用它作为第二个 HTTP 采样器的名称。
时间函数的语法:
${__time(dd MM YYYY HH mm ss)}
点击运行 > 开始执行测试计划。
您可以看到时间函数打印了确切的时间和日期,而不是完整的采样器名称。
要获得有关 JMeter 函数及其用法的更多知识,请参阅链接下提供的 Apache JMeter