软件测试 | 如何运行 JMeter
要启动 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 霍格沃兹的干货都很硬核
评论