写点什么

软件测试 | 如何运行 JMeter

  • 2023-05-19
    北京
  • 本文字数:1608 字

    阅读完需:约 5 分钟

要启动 JMeter,在 Windows 下运行 jmeter.bat,或者在 UNIIX 下运行文件 jmeter,这两个文件都可以在 bin 目录下找到。在一个很短的等待之后,JMeter 的图形用户界面就会出现。在 bin 目录中,还有其他几个测试人员可能会用到的脚本。

Windows 脚本文件(.cmd 要求 Windows2000 及其后续版本)。

  • jmeter.bat:运行 JMeter(默认 GUI 模式)。

  • jmeter-n.cmd:加载一个 JMX 文件,并在非 GUI 模式下运行。

  • jmeter-n-r.cmd:加载一个 JMX 文件,并在远程费 GUI 模式下运行。

  • jmeter-t.cmd:加载一个 JMX 文件,并在 GUI 模式下运行

  • jmeter-server.cmd:以服务器模式启动 JMeter.

  • mirror-server.cmd:在非 GUI 模式下启动 JMeter 镜像服务器。

  • shutdown.cmd:关闭一个非 GUI 实例(优雅的)。

  • stoptest.cmd:停止一个非 GUI 实例(中断式的)。

通过环境变量 JVM_ARGS,我们可以修改在 jmeter.bat 中定义的 JVM 设置。例如:set JVM_ARGS="-Xms1024m -Xmx1024m -Dpropname=propvalue"

jmeter -t test.jmx...

UNIX 脚本文件,应该能在绝大多数 Linux/UNIX 系统下运行。

jmeter:运行 JMeter(默认 GUI 模式)。定义了一些 JVM 设置,但并不是对所有 JVM 都生效。

jmeter-server:以服务器模式启动 JMeter(通过合适的参数来调用 jmeter 脚本)

jmeter.sh:没有指定 JVM 选项的非常基础的 jmeter 脚本

mirror-server.sh:在非 GUI 模式下启动 JMeter 镜像服务器。

shutdowm.sh:关闭一个非 GUI 实例(优雅的)。

stoptest.sh:停止一个非 GUI 实例(中断式的)。

如果当前使用的 JVM 不支持某些 JVM 选项,那么测试人员就有必要修改 jmeter shell 脚本。另外用户可以使用 JVM_ARGS 环境变量来修改或者添加 JVM 选项,例如:

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

就会覆盖脚本中的堆设置。

1.JMeter 的 Classpath

JMeter 会通过一下目录中的 jar 文件加载类。

JMETER_HOME/lib:公用包

JMETER_HOME/lib/ext:包含 JMeter 元件和补丁。

如果测试人员开发了新的 JMeter 元件,那么需要将对应 jar 包放到 JMeter 的 lib/ext 目录下。JMeter 会自动加载这些 jar 包中的 JMeter 元件。

公用支持的 jar 包,应该被放在 lib 目录下。如果测试人员不想将 JMeter 扩展包放在 lib/ext 目录下,那么就需要 jmeter.properties 文件中定义属性 search_paths。不要在 lib/ext 目录中放置公用包,它应该只供 JMeter 元件使用。

其他 jar 包(JDBS、JMS 实现包,以及任何其他支持包)都应该被放置在 lib 目录,而非 lib/ext 目录下。

测试人员还可以加载房子啊 $JAVA_HOME/jre/lib/ext 目录中的公用包,或者在 jmeter.properties 文件中定义 user.classpath 属性。

需要注意的是,设置环境变量 CLASSPATH 对 JMeter 不起作用。这时因为 JMeter 是以“java-jar”方式启动,而该 Java 命令会默默地忽略 CLASSPATH 变量,而且使用-jar 可以携带-classpath/cp 选项(这对所有 Java 程序都是一样的,并非只针对 JMeter)。

2.使用代理服务器

如果测试对象隐藏在防火墙/代理服务器之后,那么测试人员需要向 JMeter 提供防火墙/代理服务器的主机名和端口号。用户可以通过命令行来运行 jmeter.bat/jmeter 文件 ,并携带如下参数,以达到提供主机名和端口号的目的。

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

  • -P[代理服务器端口]

  • -N[不使用代理的主机](例如*.apache.org|localhost)

  • -u[代理验证的用户名-如果要求的话]

  • -a[代理验证的密码-如果要求的话]

  • 例如:jmeter-H my.proxy.server -P 8000 -u username -a password -N localhost.

3.非 GUI 模式(命令行模式)

对于非交互测试,测试人员可以选择不使用 GUI 来运行 JMeter。要达到这一目的,可以使用如下命令选项:

  • -n 指明 JMeter 以非 GUI 模式运行

  • -t[JMX 文件(其中包含测试计划)的名称]

  • -I [JTL 文件(存放测试采样数据)的名称]

  • -j [JMeter 日志文件的名称]

  • -r 在 JMeter 属性“remote_hosts”中定义的服务上远程运行测试脚本

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

  • 这些 JMeter 脚本同样允许测试人员指明可选的防火墙/代理服务器的信息:

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

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

搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核

用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
软件测试 | 如何运行JMeter_测试_测吧(北京)科技有限公司_InfoQ写作社区