22. 提示和技巧

本节是 JMeter 用户列表中各种问题所建议的各种提示和技巧的集合。如果您在此处未找到所需内容,请查看JMeter Wiki。另外,尝试搜索 JMeter 用户列表;有人可能已经提供了解决方案。

22.1 在线程之间传递变量

JMeter 变量具有线程范围。这是经过深思熟虑的,以便线程可以独立运行。然而,有时需要在不同线程之间、相同或不同线程组中传递变量。

一种方法是改用属性。属性在所有 JMeter 线程之间共享,因此如果一个线程设置了一个属性,另一个线程可以读取更新后的值。

如果有很多信息需要在线程之间传递,那么考虑使用文件。例如,您可以 在一个线程中使用对文件侦听器或 BeanShell PostProcessor的保存响应,并使用 HTTP 采样器“ file: ”协议读取文件,并使用 PostProcessor 或 BeanShell 元素提取信息。

如果您可以在开始测试之前导出数据,那么最好将其存储在一个文件中,使用 CSV 数据集读取它。

22.2 启用调试日志

大多数测试元素包括调试日志记录。如果从 GUI 运行测试计划,请选择测试元素并使用帮助菜单启用或禁用日志记录。帮助菜单还具有显示 GUI 和测试元素类名称的选项。您可以使用这些来确定正确的属性设置以更改日志记录级别。

有时查看日志消息对调试 JMeter 中使用的 BeanShell 或 Apache Groovy 等动态脚本语言非常有用。您可以直接在 JMeter GUI 中查看日志消息,这样做:

  • 使用菜单Options  →  Log Viewer,界面下方会出现一个日志控制台
  • 或者点击 GUI 右上角的警告图标
默认情况下,此日志控制台被禁用,您可以通过更改jmeter.properties来启用它:
jmeter.loggerpanel.display=true
为避免使用过多内存,此组件限制了此面板使用的字符数:
jmeter.loggerpanel.maxlength=80000

22.3 搜索

有时很难在测试计划树和使用变量或包含特定 URL 或参数的元素中找到。自 2.6 起现在提供了一项新功能,您可以在菜单搜索中访问它。它提供了以下选项的搜索:

区分大小写
使搜索区分大小写
常规经验。
是搜索正则表达式的文本,如果是,则将在组件树中搜索正则表达式,例如“ \btest\b ”将匹配在组件的可搜索元素中包含测试的任何组件
图 1 - 在 TreeView 中搜索原始文本
图 1 - 在 TreeView 中搜索原始文本
图 2 - TreeView 中的结果
图 2 - TreeView 中的结果
图 3 - 在 TreeView 中搜索 Regexp(在此示例中,我们搜索整个单词)
图 3 - 在 TreeView 中搜索 Regexp(在此示例中,我们搜索整个单词)
图 4 - TreeView 中的结果
图 4 - TreeView 中的结果

22.4 在 Linux 或 Windows 上带有 HiDPI 屏幕的 JMeter

Linux、MacOS 或 Windows 上的 Java 中的 Swing API 目前不支持 HiDPI 模式。因此,使用 HiDPI 屏幕(小图标和字符)可能很难阅读 JMeter。

您可以通过更改一些属性来改进 JMeter 在 HiDPI 屏幕上的显示:

jmeter.hidpi.mode
设置为true以激活“”-hidpi 模式,允许增加某些 UI 元素的大小
jmeter.hidpi.scale.factor
设置为2.0以缩放某些 UI 元素的大小
jmeter.toolbar.icons.size
使用这些值:22x22(默认大小)、32x3248x48(HiDPI 的建议值)
jmeter.tree.icons.size
使用这些值:19x19(默认大小)、24x24、32x32 HiDPI的建议值)或48x48

此外,您可以通过更改这些属性来增加某些元素(如 JSR223 采样器)中文本区域的字体大小:

jsyntaxtextarea.font.family
设置为Hack以激活并更改字体及其大小
jsyntaxtextarea.font.size
设置为更大的值,例如28(HiDPI 的建议值)
这不是完整的 HiDPI 支持,只会影响
  • JMeter 树节点
  • 工具栏中的图标
  • 表格内容
  • 文本区域的字体大小

22.5 自动保存进程配置

从 JMeter 3.0 开始,JMeter 自动为每个保存的 jmx 文件保存多达十个备份。启用后,就在保存 jmx 文件之前,它将备份到${JMETER_HOME}/backups子文件夹。备份文件以保存的 jmx 文件命名,并分配一个自动递增的版本号,例如:test-plan-000001.jmxtest-plan-000002.jmxtest-plan-000003.jmx等。 -backup,将以下属性添加到user.properties

backup_on_save
要启用/禁用自动备份,请将以下属性设置为true / false(默认为true):
jmeter.gui.action.save.backup_on_save=false
备份目录
备份目录也可以设置到不同的位置。将jmeter.gui.action.save.backup_directory属性设置为所需目录的路径将导致备份文件存储在其中而不是${JMETER_HOME}/backups文件夹中。如果指定的目录不存在,它将被创建。未设置此属性将导致使用${JMETER_HOME}/backups文件夹。
jmeter.gui.action.save.backup_directory=/path/to/backups/dir
keep_backup_max_hours
您还可以配置自最近保存时间以来备份文件应保留的最长时间(以小时为单位)。默认情况下,设置零过期时间,指示 JMeter 永久保留备份文件。使用以下属性来控制最长保存时间:
jmeter.gui.action.save.keep_backup_max_hours=0
keep_backup_max_count
您可以设置应保留的最大备份文件数。默认情况下,将保留10 个备份。将此设置为零将导致备份永远不会被删除(除非keep_backup_max_hours设置为非空值)在时间到期选择处理最大备份文件选择,因此即使您将到期时间设置为一年,也只有keep_backup_max_count最最近的备份文件将被保留。
jmeter.gui.action.save.keep_backup_max_count=10

22.5 使用热键添加元素

当您使用 JMeter 编写密集的脚本时,有一种方法可以使用键盘快捷键快速添加元素以测试计划。默认绑定是:

Ctrl  +  0
线程组
Ctrl  +  1
HTTP 请求
Ctrl  +  2
正则表达式提取器
Ctrl  +  3
响应断言
Ctrl  +  4
恒定定时器
Ctrl  +  5
测试动作
Ctrl  +  6
JSR223 后处理器
Ctrl  +  7
JSR223 预处理器
Ctrl  +  8
调试采样器
Ctrl  +  9
查看结果树
上面的绑定是为 Windows QWERTY 键盘制作的。对于其他平台和键盘,请确保您调整这些值。

要更改这些绑定,请在jmeter.properties文件中找到“ gui.quick_* ”属性作为示例,建议将它们覆盖到user.properties文件中。

22.6 浏览器渲染器未显示在查看结果树中

如果您使用的是高于 8 的 OpenJDK 或 Oracle Java 版本,您会注意到未显示 Browser Renderer。这是因为没有嵌入 JavaFX。为了拥有此元素,您需要遵循以下过程。

  • 按照本文档为您的操作系统和 Java 版本安装 Java FX。
    如果您不想阅读它,以下是必要的步骤:
    • 转到Gluon 网站并下载适用于您的 Java 版本和操作系统的运行时
    • 解压
    • 然后配置一个指向 lib 文件夹的变量:
      Linux/MacOSX:
      export PATH_TO_FX=path/to/javafx-sdk-XX/lib
      视窗:
      set PATH_TO_FX=path/to/javafx-sdk-XX/lib
  • 然后打开 Linux/MacOSX 的 bin/jmeter 文件,Windows 的 bin/jmeter.bat,找到 JAVA9_OPTS 变量并添加:
    Linux/MacOSX:
    --module-path $PATH_TO_FX --add-modules javafx.web,javafx.swing
    视窗:
    --module-path %PATH_TO_FX% --add-modules javafx.web,javafx.swing
Go to top