JMeter官方文档:1. 新手入门

乙醇 创建于 over 6 years 之前

最后更新: about 1 month 之前

阅读数: 1

JMeter官方文档:1. 新手入门

《JMeter官方文档--翻译计划》 原文地址

注:不知道怎么的翻译的句子保留的英文。

1. 新手入门


1.0 概述


当你使用JMeter的时候一般会遵循以下过程:

1.0.1 创建测试计划


首先,你需要启动JMeter GUI

然后,你可以选择从浏览器或本地应用程序记录应用程序。通过菜单:文件  →  Templates...  → Recording

注意,你还可以通过手动生成测试计划,你需要阅读文档并理解上面概念。

你还可以通过下面的方式进行调试:

  • 运行 → Start no pauses
  • 运行 → 启动
  • 验证线程组

查看结果树的渲染和调试(CSS/JQUERY, JSON, Regexp, XPath)。 确保在构建测试计划时遵循最佳实践

1.0.2 负载测试执行


一旦测试计划就绪,就可以开始负载测试了。第一步是配置运行JMeter的注入器,这对于任何其他负载测试工具包括:

  • 在CPU、内存和网络方面对机器进行正确的调整。
  • 操作系统的优化
  • Java设置: 确保你安装Java支持的JMeter的最新版本。
  • 正确调整Java堆大小: 默认的JMeter以512MB的堆运行,这可能对你的测试没什么帮助,主要取决于你的测试计划和你想要运行的线程数。

一旦一切就绪,你将使用命令行模式(称为非GUI模式)来运行负载测试。

不要使用GUI模式运行负载测试!

使用非gui模式,你可以生成包含CSV(或XML)结果的文件,并在负载测试结束时生成JMeter生成HTML报告。默认情况下,JMeter将在运行时提供负载测试的摘要。

你还可以使用后端侦听器在测试期间获得实时结果。

1.0.3 负载测试分析


负载测试结果后,可以使用HTML报告来分析负载测试。

1.0.4 让我们开始吧


开始使用JMeter最简单的方法是首先下载最新的产品版本并安装它。该版本包含构建和运行大多数类型的测试所需的所有文件,例如 Web(HTTP / HTTPS)、FTP、JDBC、LDAP、Java、JUnit等。

如果你想要执行JDBC测试,那么你当然需要来数据库供应商JDBC驱动程序。JMeter不包含任何JDBC驱动程序。

JMeter包括JMS API jar包,但不包括JMS客户端实现。如果要运行JMS测试,则需要从JMS提供下载适当的jar包。

有关安装其他jar包的详细信息,请参阅JMeter Classpath部分。

接下来,启动JMeter并通过创建测试计划来熟悉JMeter基础知识(例如,添加和删除元素)。

最后,通过相关章节的学习,了解如何创建特定类型的测试计划。例如,如果你对测试Web应用程序感兴趣,那么请参阅创建Web测试计划的部分。其他具体的测试计划部分是:

一旦你熟悉构建和运行JMeter测试计划,你就可以查看各种配置元素(计时器、侦听器、断言和其他),这些元素可以让你对测试计划有更多的控制。

1.1 要求


要想运行JMeter,需要你的计算机环境满足一些要求。

1.1.1 Java版本


JMeter需要一个完全兼容的JVM 8,我们建议你安装这些主要版本的最新版本。但是,JMeter 3.2在Java 9没有完全测试。

因为JMeter只使用标准的Java APIs,所以,如果是由于JRE的实现问题导致JMeter无法运行请不要提交bug报告。

1.1.2 操作系统


JMeter是一个100%的Java应用程序,应该可以在任何具有兼容Java实现的系统上运行。

使用JMeter测试的操作系统可以这里wiki上查看。

即使你的操作系统没有在wiki页面上列出,JMeter也应该可以在JVM兼容的情况下运行。

1.2 可选项


如果你计划进行JMeter开发,那么你将需要下面列出的一个或多个可选包。

1.2.1 Java编译器


如果你想构建JMeter源或开发JMeter插件,那么你将需要一个完全兼容的JDK 8或更高版本。

1.2.2 Email支持


JMeter具有广泛的电子邮件功能。它可以根据测试结果发送电子邮件,并有一个POP3(S)/IMAP(S)采样器。它也有一个SMTP(S)采样器。

1.2.4 SSL加密


为了使用SSL加密(HTTPS)测试web服务器,JMeter要求提供SSL的实现,就像Sun Java 1.4和上面的例子一样。如果你的Java版本不包括SSL支持,那么可以添加一个外部实现。在JMeter classpath 中包含必要的加密包。同时,更新系统。属性来注册SSL提供者。

JMeter HTTP 默认协议级别为TLS。这可以通过编辑JMeter属性来改变 https.default.protocoljmeter.propertiesuser.properties

JMeter HTTP samplers被配置为接受所有证书,不管是否可信,都不考虑有效时间,等等。 这是为了在测试服务器上允许最大的灵活性。

如果服务器需要客户端证书,则可以提供此证书。

还有SSL管理器,用于对证书进行更大的控制。

JMeter代理服务器(见下)支持记录HTTPS(SSL)。

SMTP sampler可以选择使用本地信任存储或信任所有证书。

1.2.5 JDBC驱动


如果你想进行JDBC测试,则需要将数据库供应商的JDBC驱动程序添加到classpath。确保文件是jar文件,而不是zip文件。

1.2.6 JMS客户端


JMeter现在包含来自Apache Geronimo的JMS API,因此你只需要从JMS提供者中添加适当的JMS客户端实现jar包。详情请参阅他们的文件。在JMeter Wiki也可能找到一些相关信息。

1.2.7 ActiveMQ JMS库


你需要添加 activemq-all-X.X.X.jar 到你的classpath,添加 ../lib/ 目录.

有关详细信息,请参阅 ActiveMQ初始配置页面

有关安装jar包更多细节,请参见JMeter Classpath部分。

1.3 安装


我们建议大多数用户运行最新版本

要安装一个发布版本,只需将zip/tar文件解压缩到需要安装JMeter的目录。如果你已经正确地安装了JRE/JDK并设置了JAVA_HOME环境变量集,那么你就没有别的事情可做了。

如果目录路径包含任何空格,那么可能会出现问题(特别是对于客户机-服务器模式)。

安装目录结构应该是这样的(这里的x.y表示版本号):

apache-jmeter-X.Y
apache-jmeter-X.Y/bin
apache-jmeter-X.Y/docs
apache-jmeter-X.Y/extras
apache-jmeter-X.Y/lib/
apache-jmeter-X.Y/lib/ext
apache-jmeter-X.Y/lib/junit
apache-jmeter-X.Y/licenses
apache-jmeter-X.Y/printable_docs

如果需要,可以重命名父目录(即 apache-jmeter-X.Y),但是不要更改任何子目录名称。

1.4 运行JMeter


启动JMeter,Windows下面执行jmeter.bat文件,Unix下面执行jmeter文件。这些文件是可以在bin/目录中找到。接下来你将看到JMeter GUI出现。

GUI模式只能用于创建测试脚本,非GUI模式必须用于负载测试

在bin目录中还有一些你可能会发现有用的脚本。Windows脚本文件(CMD文件需要Win2K或更高版本):

jmeter.bat

启动JMeter (默认GUI模式)

jmeterw.cmd

启动JMeter没有windows shell控制台 (默认GUI模式)

jmeter-n.cmd

删除一个JMX文件在运行非GUI测试

jmeter-n-r.cmd

删除一个JMX文件在运行非GUI远程测试

jmeter-t.cmd

删除一个JMX文件在GUI模式下加载它

jmeter-server.bat

在服务器模式启动JMeter

mirror-server.cmd

在非GUI模式下运行JMeter镜像服务器

shutdown.cmd

运行关闭客户端,以优雅地停止非GUI实例

stoptest.cmd

运行关闭客户端,停止非GUI实例

The special name LAST can be used with jmeter-n.cmd , jmeter-t.cmd and jmeter-n-r.cmd and means the last test plan that was run interactively.

环境变量 JVM_ARGS 可以用来覆盖jmeter中的JVM设置,jmeter.bat脚本。例如:

set JVM_ARGS="-Xms1024m -Xmx1024m -Dpropname=propvalue" jmeter -t test.jmx …

Un*x 脚本文件; 应该在大多数Linux / UNIX系统上工作:

jmeter

启动JMeter (默认GUI模式). 定义一些可能不适用于所有JVM的JVM设置。

jmeter-server

在服务器模式启动JMeter (使用适当的参数调用jmeter脚本)

jmeter.sh

非常基础的JMeter脚本 (你可能需要调整JVM选项,比如内存设置).

mirror-server.sh

在非GUI模式下运行JMeter镜像服务器

shutdown.sh

运行关闭客户端,以优雅地停止非GUI实例

stoptest.sh

运行关闭客户端,停止非GUI实例

如果你使用的JVM不支持一些JVM选项,则可能需要编辑jmeter shell脚本。JVM_ARGS环境变量可以用来覆盖或设置额外的JVM选项,例如:

JVM_ARGS="-Xms1024m -Xmx1024m" jmeter -t test.jmx [etc.]

将重写脚本中的 (HEAP)设置。

1.4.1 JMeter's Classpath


JMeter自动在以下目录中找到jar类:

JMETER_HOME/lib

用于公共jar包

JMETER_HOME/lib/ext

用于JMeter组件和插件

如果你已经开发了新的JMeter组件,那么你应该将它们jar并将jar复制到JMeter的 lib/ext 目录中。JMeter将自动在这里发现的任何jar中找到JMeter组件。不要使用 lib/ext 用于公共jar或插件使用的依赖项jar;它只用于JMeter组件和插件。

如果你不希望在 lib/ext 目录中放置JMeter插件jar,那么在 jmeter.properties 中定义属性 search_paths

实用程序和依赖项jar(库等)可以放在 lib/ 目录中。

如果你不想在 lib/ 目录中放置这样的jar,那么可以在 jmeter.properties 通过 user.classpathplugin_dependency_paths 定义属性。请参阅下文以解释这些差异。

其他jar(如JDBC、JMS实现和JMeter代码需要的其他支持库)应该放在 lib/ 目录中,而不是 lib/ext 目录,或者添加到 user.classpath

JMeter只会找到.jar文件,而不是.zip文件。

你还可以在 $JAVA_HOME/jre/lib/ext 中安装公共Jar文件,或者可以在 jmeter.properties 中设置属性 user.classpath

注意,设置 CLASSPATH 环境变量将没有效果。这是因为JMeter是以“java - jar”开头的,而java命令则默认忽略了CLASSPATH变量,使用 -jar 时的 -CLASSPATH / - cp 选项。

这将作用于所有的Java程序中,而不仅仅是JMeter。

1.4.2 通过模板创建能椒档计划


你可以从现有的模板创建一个新的测试计划。

你使用菜单: 文件 → Templates…模板图标 :

图:模板图标项

出现一个弹出窗口,你可以在列表中选择一个模板:

每个模板的文档说明从模板创建测试计划时要做什么。

1.4.3 使用JMeter设置代理


如果你正在防火墙/代理服务器的上进行测试,你可能需要为JMeter提供防火墙/代理服务器主机名和端口号。为此运行 jmeter[.bat] 文件需要使用以下参数:

-H
[代理服务器主机名或IP]

-P
[代理服务器的端口号]

-N
nonproxy hosts

-u
[代理认证的用户名——如果需要]

-a
[代理认证的密码——如果需要]

例如:

jmeter -H my.proxy.server -P 8000 -u username -a password -N localhost

你也可以使用 --proxyHost, --proxyPort, --username, 和 --password 作为参数名。

命令行上提供的参数可以在系统上的其他用户可见。

如果提供代理主机和端口,则JMeter设置以下系统属性:

  • http.proxyHost
  • http.proxyPort
  • https.proxyHost
  • https.proxyPort

如果提供了非代理主机列表,则JMeter设置以下系统属性:

  • http.nonProxyHosts
  • https.nonProxyHosts

因此,如果你不希望同时设置http和https代理,则可以定义系统中的相关属性。属性,而不是使用命令行参数。

也可以在测试计划中定义代理设置,使用HTTP请求默认配置或HTTP请求采样器元素。

JMeter也有自己的内置代理服务器,HTTP(S)测试脚本记录器。这仅用于记录HTTP或HTTPS浏览器会话。这与上面描述的代理设置不相混淆,当JMeter自己制作HTTP或HTTPS请求时,使用它们。



1.4.4 Non-GUI 模式(命令行模式)


对于负载测试,你必须在此模式下运行JMeter(没有GUI)才能获得最佳结果。为此,使用以下命令选项:

-n
它指定JMeter在非GUI模式下运行

-t
[包含测试计划的JMX文件的名称]

-l
[JTL文件的名称以日志样本为结果]

-j
[JMeter运行日志文件的名称].

-r
在 JMeter 属性“remote_hosts”指定的服务器上运行测试

-R
[远程服务器列表]在指定的远程服务器上运行测试

-g
[通往CSV文件的路径]只生成报表指示板

-e
负载测试后生成报表指示板

-o
输出文件夹,用于在负载测试后生成报告指示板。文件夹必须不存在或空,该脚本还允许你指定可选的防火墙/代理服务器信息:

-H
[代理服务器主机名或 IP 地址]

-P
[代理服务器端口]

例如:

jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000

如果属性 jmeterengine.stopfail.system.exit 设置为true(默认为false),然后JMeter将调用 System.exit(1) 如果它不能停止所有的线程。通常这是不必要的。

1.4.5 服务器模式


对于分布式测试,在远程节点上运行服务器模式的JMeter,然后从GUI控制服务器(s)。你还可以使用非GUI模式运行远程测试。启动服务器,运行 jmeter-server(.bat) 在每个服务器主机。

该脚本还允许你指定可选的防火墙/代理服务器信息:

-H
[代理服务器主机名或ip地址]

-P
[代理服务器端口]

例如:

jmeter-server -H my.proxy.server -P 8000

如果你希望服务器在运行一个测试后退出,那么请定义 JMeter property server.exitaftertest= true

要在非GUI模式的客户机上运行测试,请使用以下命令:

jmeter -n -t testplan.jmx -r [-Gprop=val] [-Gglobal.properties] [-X]

-G
用于定义JMeter属性被设置在服务器

-X
意味着退出服务器在测试结束

-Rserver1,server2
可以代替 -r 来提供一个服务器列表来启动。覆盖 remote_hosts ,但不定义属性。

如果属性 jmeterengine.remote.system.exit 设置为true(默认为false),然后JMeter将调用 System.exit(0) ,在测试结束后停止RMI。通常这是不必要的。

1.4.6通过命令行覆盖属性


可以直接在命令lin上重写Java系统属性和JMeter属性(而不是修改 jmeter.properties)。为此,请使用以下选项:

-D[prop_name]=[value]
定义java系统属性值。

-J[prop_name]=[value]
定义一个本地JMeter属性。

-G[prop_name]=[value]
将JMeter属性定义为发送到所有远程服务器。

-G[propertyfile]
定义一个包含JMeter属性的文件被发送到所有远程服务器。

-L[category]=[priority]
覆盖日志设置,将特定类别设置为给定的优先级。

也可以使用 -L 标志,而不使用类别名称来设置根日志级别。

例如:

jmeter -Duser.dir=/home/mstover/jmeter_stuff \
    -Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUG
jmeter -LDEBUG

在启动时,命令行属性被处理,但是在建立日志系统之后。

1.4.7 日志与错误信息


从3.2开始,JMeter日志没有通过JMeter等属性文件进行配置。属性,但它是通过Apache Log4j 2配置文件配置的 (log4j2.xml 在 JMeter 在默认情况下启动的目录中) 代替。另外,包括JMeter和plugins在内的所有代码都必须使用SLF4J库来从3.2开始保留日志。

这是一个例子 log4j2.xml 文件为每个类别定义两个日志appender和日志记录器。

<Configuration status="WARN" packages="org.apache.jmeter.gui.logging">

  <Appenders>

    <!-- The main log file appender to jmeter.log in the directory from which JMeter was launched, by default. -->
    <File name="jmeter-log" fileName="${sys:jmeter.logfile:-jmeter.log}" append="false">
      <PatternLayout>
        <pattern>%d %p %c{1.}: %m%n</pattern>
      </PatternLayout>
    </File>

    <!-- Log appender for GUI Log Viewer. See below. -->
    <GuiLogEvent name="gui-log-event">
      <PatternLayout>
        <pattern>%d %p %c{1.}: %m%n</pattern>
      </PatternLayout>
    </GuiLogEvent>

  </Appenders>

  <Loggers>

    <!-- Root logger -->
    <Root level="info">
      <AppenderRef ref="jmeter-log" />
      <AppenderRef ref="gui-log-event" />
    </Root>

    <!-- SNIP -->

    <!--
      # Apache HttpClient logging examples
    -->
    <!-- # Enable header wire + context logging - Best for Debugging -->
    <!--
    <Logger name="org.apache.http" level="debug" />
    <Logger name="org.apache.http.wire" level="error" />
    -->

    <!-- SNIP -->

  </Loggers>

</Configuration>

如果你想改变log的值 org.apache.http 例如,你可以简单地添加(或取消注释)下面的logger元素 log4j2.xml 启动JMeter之前文件。

<Loggers>
  <!-- SNIP -->
  <Logger name="org.apache.http" level="debug" />
  <!-- SNIP -->
</Loggers>

有关更多配置log4j2.xml文件的细节,请参阅 Apache Log4j2 配置 页。

可以直接在命令行上重写特定类别或根日志记录器的日志级别(而不是修改log4j2.xml)。为此,请使用以下选项:

-L[category]=[priority]
覆盖日志设置,将特定类别设置为给定的优先级。从3.2开始,建议使用完整的类别名称(e.g org.apache.jmetercom.example.foo,但是如果类别名称从 jmeterjorphan 开始,org.apache。将在内部对类别名称输入进行预置,以构建一个完整的类别名称(e.g org.apache.jmeterorg.apache.jorphan )为了向后兼容。

例子:

jmeter -Ljmeter.engine=DEBUG
jmeter -Lorg.apache.jmeter.engine=DEBUG
jmeter -Lcom.example.foo=DEBUG
jmeter -LDEBUG

日志记录的差异:旧 vs 新:

As JMeter uses SLF4J as logging API and Apache Log4j 2 as a logging framework since 3.2, not every log level used before 3.2 can match exactly with one of the new available log levels provided by SLF4J/Log4j2. Therefore, please keep the following differences and new suggested practices in mind if you need to migrate any existing logging configruations and logging code.

Category Old Practices Before 3.2 New Practices Since 3.2
Logger Logger reference through LoggingManager: Use SLF4J API with either category or explicit class:
Reference LoggingManager.getLoggerFor(String category); LoggingManager.getLoggerForClass(); LoggerFactory.getLogger(String category);LoggerFactory.getLogger(Foo.class);
Log Levels in Configuration or Command Line Arguments Old Log Levels: * DEBUG * INFO * WARN * ERROR * FATAL_ERROR * NONE Mapping to New Levels through SLF4J/Log4j2: * DEBUG * INFO * WARN * ERROR * ERROR * NONE

JMeter通常不会使用弹出对话框来处理错误,因为这些会干扰运行测试。它也不报告错误拼写的变量或函数的任何错误;相反,引用只是作为。看见 函数和变量的更多信息

如果JMeter在测试期间检测到错误,则将向日志文件写入一条消息。日志文件的名称是在 log4j2.xml 文件 (或使用 -j 选项,见下图)。它默认为 jmeter.log,将在 JMeter 启动的目录中找到。

菜单 选项 → Log Viewer 显示日志文件在底部窗格中主要JMeter窗口。

在GUI模式中,日志文件中记录的错误/致命消息的数量显示在右上角。

命令行选项 - j jmeterlogfile 允许在读取初始属性文件后进行处理,并在处理进一步的属性之前。因此,它允许默认值 jmeter.log 覆盖。以测试计划名称作为参数的 jmeter脚本 (如 jmeter-n.cmd) 已经更新了使用测试计划名称来定义日志文件,例如测试计划 Test27.jmx 日志文件被设置为 Test27.log

当在Windows上运行时,该文件可能会显示为jmeter,除非你设置了窗口来显示文件扩展名。(你应该做的,让它更容易检测到病毒和其他有害物质,假装文本文件…)

除了记录错误,还有 jmeter.log 文件记录一些关于测试运行的信息。例如:

2017-03-01 12:19:20,314 INFO o.a.j.JMeter: Version 3.2.20170301
2017-03-01 12:19:45,314 INFO o.a.j.g.a.Load: Loading file: c:\mytestfiles\BSH.jmx
2017-03-01 12:19:52,328 INFO o.a.j.e.StandardJMeterEngine: Running the test!
2017-03-01 12:19:52,384 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group BSH. Ramp up = 1.
2017-03-01 12:19:52,485 INFO o.a.j.e.StandardJMeterEngine: Continue on error
2017-03-01 12:19:52,589 INFO o.a.j.t.JMeterThread: Thread BSH1-1 started
2017-03-01 12:19:52,590 INFO o.a.j.t.JMeterThread: Thread BSH1-1 is done
2017-03-01 12:19:52,691 INFO o.a.j.e.StandardJMeterEngine: Test has ended

日志文件可以帮助确定错误的原因,因为JMeter没有中断测试以显示错误对话。

1.4.8 命令行选项的完整列表


    --?
        print command line options and exit
    -h, --help
        print usage information and exit
    -v, --version
        print the version information and exit
    -p, --propfile <argument>
        the jmeter property file to use
    -q, --addprop <argument>
        additional JMeter property file(s)
    -t, --testfile <argument>
        the jmeter test(.jmx) file to run
    -l, --logfile <argument>
        the file to log samples to
    -i, --jmeterlogconf <argument>
        jmeter logging configuration file (log4j2.xml)
    -j, --jmeterlogfile <argument>
        jmeter run log file (jmeter.log)
    -n, --nongui
        run JMeter in nongui mode
    -s, --server
        run the JMeter server
    -H, --proxyHost <argument>
        Set a proxy server for JMeter to use
    -P, --proxyPort <argument>
        Set proxy server port for JMeter to use
    -N, --nonProxyHosts <argument>
        Set nonproxy host list (e.g. *.apache.org|localhost)
    -u, --username <argument>
        Set username for proxy server that JMeter is to use
    -a, --password <argument>
        Set password for proxy server that JMeter is to use
    -J, --jmeterproperty <argument>=<value>
        Define additional JMeter properties
    -G, --globalproperty <argument>=<value>
        Define Global properties (sent to servers)
        e.g. -Gport=123
         or -Gglobal.properties
    -D, --systemproperty <argument>=<value>
        Define additional system properties
    -S, --systemPropertyFile <argument>
        additional system property file(s)
    -f, --forceDeleteResultFile
        force delete existing results files before start the test
    -L, --loglevel <argument>=<value>
        [category=]level e.g. jorphan=INFO, jmeter.util=DEBUG or com.example.foo=WARN
    -r, --runremote
        Start remote servers (as defined in remote_hosts)
    -R, --remotestart <argument>
        Start these remote servers (overrides remote_hosts)
    -d, --homedir <argument>
        the jmeter home directory to use
    -X, --remoteexit
        Exit the remote servers at end of test (non-GUI)
    -g, --reportonly <argument>
        generate report dashboard only, from a test results file
    -e, --reportatendofloadtests
        generate report dashboard after load test
    -o, --reportoutputfolder <argument>
        output folder for report dashboard

注意:如果它包含成对单引号,JMeter日志文件名被格式化为SimpleDateFormat(适用于当前日期),例如:jmeter_'yyyyMMddHHmmss'.log

如果特别的名字 LAST 用 -t \ -j \ -l 标志,然后JMeter将其表示为在交互模式下运行的最后一个测试计划。

1.4.9 非GUI模式关闭


在版本2.5.1之前,JMeter 调用 System.exit() 当非GUI测试完成时。这对直接调用JMeter的应用程序造成了问题,因此 JMeter 不再调用 System.exit() 为正常的测试完成。[一些致命的错误可能仍然会引起 System.exit() ] JMeter将退出它所启动的所有非守护进程线程,但可能仍然存在一些非守护进程线程; 这些将防止JVM退出。为了检测这种情况,JMeter 在它退出之前启动一个新的守护线程。这个守护线程等待短时间;如果它从等待中返回,那么显然JVM还没有能够退出,而线程打印出一条消息来说明原因。

这个属性 jmeter.exit.check.pause 可以用来覆盖2000ms(2secs)的默认暂停。如果设置为0,则JMeter不会启动守护线程。

1.5 配置 JMeter


如果希望修改JMeter运行的属性,则需要修改用户。属性在 /bin 目录或创建你自己的副本 jmeter.properties 并在命令行中指定它。

注意:你可以在JMeter属性定义的文件中定义额外的JMeter属性 user.properties 哪个有默认值 user.properties 的。如果在当前目录中找到该文件,或者在 JMeter bin 目录中找到该文件,将自动加载该文件。同样的, system.properties 用于更新系统属性。

Parameters

Attribute Description Required
ssl.provider You can specify the class for your SSL implementation if you don't want to use the built-in Java implementation. No
xml.parser You can specify an implementation as your XML parser. The default value is: org.apache.xerces.parsers.SAXParser No
remote_hosts Comma-delimited list of remote JMeter hosts (or host:port if required). If you are running JMeter in a distributed environment, list the machines where you have JMeter remote servers running. This will allow you to control those servers from this machine's GUI No
not_in_menu A list of components you do not want to see in JMeter's menus. As JMeter has more and more components added, you may wish to customize your JMeter to show only those components you are interested in. You may list their classname or their class label (the string that appears in JMeter's UI) here, and they will no longer appear in the menus. No
search_paths List of paths (separated by ;) that JMeter will search for JMeter plugin classes, for example additional samplers. A path item can either be a jar file or a directory. Any jar file in such a directory will be automatically included in search_paths, jar files in sub directories are ignored. The given value is in addition to any jars found in the lib/ext directory. No
user.classpath List of paths that JMeter will search for utility and plugin dependency classes. Use your platform path separator to separate multiple paths. A path item can either be a jar file or a directory. Any jar file in such a directory will be automatically included in user.classpath, jar files in sub directories are ignored. The given value is in addition to any jars found in the lib directory. All entries will be added to the class path of the system class loader and also to the path of the JMeter internal loader. No
plugin_dependency_paths List of paths (separated by ;) that JMeter will search for utility and plugin dependency classes. A path item can either be a jar file or a directory. Any jar file in such a directory will be automatically included in plugin_dependency_paths, jar files in sub directories are ignored. The given value is in addition to any jars found in the lib directory or given by the user.classpath property. All entries will be added to the path of the JMeter internal loader only. For plugin dependencies using plugin_dependency_paths should be preferred over user.classpath. No
user.properties Name of file containing additional JMeter properties. These are added after the initial property file, but before the -q and -J options are processed. No
system.properties Name of file containing additional system properties. These are added before the -S and -D options are processed. No

命令行选项和属性文件按以下顺序处理:

1、 -p propfile

2、jmeter.properties (或者从 - p 选项)中加载文件

3、-j logfile

4、日志记录初始化

5、user.properties 加载

6、system.properties 加载

7、所有其他命令行选项都被处理

参见下面的注释 jmeter.properties, user.propertiessystem.properties 文件,有关其他设置信息的你可以进一步修改。

0

相关课程

Locust实用教程
图文
Locust实用教程

课程分类: 性能测试 测试工具

python语言实现的非常出色性能测试工具

  • 已完结
  • 已更新9集
  • 最后更新时间: 2024-03-18 12:24:59

免费

查看详情
性能测试神器wrk教程
图文
性能测试神器wrk教程

课程分类: 性能测试

目前看来并发性能依旧优秀

  • 已完结
  • 已更新5集
  • 最后更新时间: 2024-03-18 07:50:00

免费

查看详情
性能测试基础教程
图文
性能测试基础教程

课程分类: 性能测试

从零开始了解性能测试

  • 已完结
  • 已更新13集
  • 最后更新时间: 2024-03-18 07:40:49

免费

查看详情