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 中查看日志消息,这样做:
- 使用菜单 ,界面下方会出现一个日志控制台
- 或者点击 GUI 右上角的警告图标
jmeter.loggerpanel.display=true为避免使用过多内存,此组件限制了此面板使用的字符数:
jmeter.loggerpanel.maxlength=80000
22.3 搜索¶
有时很难在测试计划树和使用变量或包含特定 URL 或参数的元素中找到。自 2.6 起现在提供了一项新功能,您可以在菜单搜索中访问它。它提供了以下选项的搜索:
- 区分大小写
- 使搜索区分大小写
- 常规经验。
- 是搜索正则表达式的文本,如果是,则将在组件树中搜索正则表达式,例如“ \btest\b ”将匹配在组件的可搜索元素中包含测试的任何组件
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(默认大小)、32x32或48x48(HiDPI 的建议值)
- jmeter.tree.icons.size
- 使用这些值:19x19(默认大小)、24x24、32x32 (HiDPI的建议值)或48x48
此外,您可以通过更改这些属性来增加某些元素(如 JSR223 采样器)中文本区域的字体大小:
- jsyntaxtextarea.font.family
- 设置为Hack以激活并更改字体及其大小
- jsyntaxtextarea.font.size
- 设置为更大的值,例如28(HiDPI 的建议值)
- JMeter 树节点
- 工具栏中的图标
- 表格内容
- 文本区域的字体大小
22.5 自动保存进程配置¶
从 JMeter 3.0 开始,JMeter 自动为每个保存的 jmx 文件保存多达十个备份。启用后,就在保存 jmx 文件之前,它将备份到${JMETER_HOME}/backups子文件夹。备份文件以保存的 jmx 文件命名,并分配一个自动递增的版本号,例如:test-plan-000001.jmx、test-plan-000002.jmx、test-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
- 查看结果树
要更改这些绑定,请在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