JMeter 函数

2024 年 11 月 13 日 | 阅读时长 4 分钟

JMeter 函数可以被认为是特殊值,可以填充测试树中任何采样器或其他元素的字段。

JMeter 中函数的语法

这里 "__functionName" 匹配函数的名称,括号包围传递给函数的参数。

如果函数参数包含逗号,请务必使用 "\" 转义,否则 JMeter 会将其视为参数分隔符。

例如

函数列表

函数类型名称评论
信息threadNum获取线程号。
信息samplerName获取采样器名称 (标签)。
信息log记录 (或显示) 一条消息 (并返回该值)。
信息machineName获取本地计算机名。
输入StringFromFile从文件中读取一行。
输入FileToString读取整个文件。
输入CSVRead从 CSV 分隔文件中读取。
输入XPath使用 XPath 表达式从文件读取。
计算Counter生成一个递增的数字。
计算intSum添加整数。
计算longSum添加长整数。
计算随机生成一个随机数。
计算RandomString生成一个随机字符串。
脚本BeanShell运行 BeanShell 脚本。
脚本javaScript处理 JavaScript (Mozilla Rhino)。
脚本jexl, jexl2评估一个 Commons Jexl 表达式。
性质属性读取属性。
性质P读取属性 (简写方法)。
变量分割将字符串分割成变量。
变量V评估变量名称。
变量eval评估变量表达式。
StringregexFunction使用正则表达式解析之前的响应。
StringescapeOroRegexpChars引用 ORO 正则表达式使用的元字符。
String字符从数字列表生成 Unicode 字符值。
StringUnescape处理包含 Java 转义符的字符串 (例如 \n & \t)。
StringunescapeHtml解码 HTML 编码的字符串。
StringescapeHtml使用 HTML 编码对字符串进行编码。
StringTestPlanName返回当前测试计划的名称。

注意:JMeter 函数和变量始终区分大小写。

让我们考虑一个 Log 函数的例子来理解函数在 JMeter 中的使用。

JMeter Log 函数的语法

首先,我们将创建一个带有 HTTP 请求采样器的简单测试计划。

创建 JMeter 测试计划

  • 转到你的 JMeterbin 文件夹,双击 Apache JMeter ".jar" 文件以启动 JMeter 界面。
  • 选择测试计划节点,然后右键单击所选项目。
  • 鼠标悬停在“添加”选项上,然后将显示元素列表。
  • 选择 线程 (用户) > 线程组。
  • 将此线程组重命名为线程组 1。

添加 Sampler

我们必须在我们的线程组中添加一个 HTTP 请求采样器。

  • 选择线程组,然后右键单击选定的项目。
  • 鼠标悬停在“添加”选项上,然后将显示元素列表。
  • 选择 Sampler > HTTP request 选项。
  • 这将添加一个空的 HTTP Request Sampler。

JMeter Functions

配置 HTTP 请求采样器的字段如下

  • 名称 - HTTP 请求采样器 1。
  • 服务器名称或 IP - 在我们的例子中,Web 服务器名称将是 www.javatpoint.com
  • 协议 - 此字段保持不变。
  • 路径 - 我们将其写为 "/" (斜杠)。它表示我们想要服务器的根页面。

现在,将整个线程组 1 复制并在我们的测试计划中粘贴三次。

  • 将其他线程组分别重命名为线程组 2 和线程组 3。
  • 将其他采样器分别重命名为 HTTP 请求 2 和 HTTP 请求 3。

下图显示了我们测试计划的目录结构。


JMeter Functions

添加监听器

  • 选择测试计划节点,然后右键单击选定的项目。
  • 鼠标悬停在“添加”选项上,然后将显示元素列表。
  • 选择监听器 > 摘要报告。

JMeter Functions

保存并执行测试计划

  • 单击文件 > 将测试计划另存为。
  • 将整个测试计划保存为 Function_test.jmx

JMeter Functions
  • 单击运行 > 开始执行测试计划。

验证输出

JMeter Functions

因此,我们已经成功执行了我们的测试计划。 现在,我们将使用 log 函数作为第一个 HTTP 请求采样器的名称。

JMeter Functions

单击运行 > 开始执行测试计划。

JMeter Functions

你可以看到 Log 函数打印了 "Hello World" 而不是完整的采样器名称。 让我们考虑另一个 Time 函数的例子,我们将再次用作第二个 HTTP 采样器的名称。

时间函数的语法


JMeter Functions

单击运行 > 开始执行测试计划。


JMeter Functions

你可以看到 Time 函数打印了确切的时间和日期,而不是完整的采样器名称。

要获得更多关于 JMeter 函数及其使用的知识,请参考 Apache JMeter 发布的文档,链接为:http://jmeter.apache.org/usermanual/functions.html