|
开始使用JMeter最容易的方法是首先下载最新版的产品并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,andJNDI测试时使用的所有文件。
如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动了。JMeter没有提供任何JDBC驱动。
其它你可能需要下载的软件:
详细参见安装的jar包中的 jmeter Classpath 一章
|
下一步, 开始使用JMeter并且参见用户手册构建测试计划一章使自己更加熟悉JMeter基础 (例如,添加和删除元素)。
最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见构建一个Web测试计划。其他测试计划的细节是JDBC 。 , FTP , and JNDI
一旦你熟练构建和执行JMeter测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元素的配置(定时器, 监听器, 断言, 和其他)。
|
|
|
2.1.1 Java 版本
|
jmeter
需要一个完全适合JVM 1.3或更高的版本. 我们现在尽力与JVM 1.3保持兼容,然而JMeter 在1.4或者更高运行的会最好.
因为JMeter 仅使用Java标准API, 请不要把因为JRE实现版本而无法运行JMeter的bug报告提交。
Java 1.3
不包括 SSL (HTTPS) 支持 – 你将需要下载 JSSE. 同样, 它不会像其他更高版本的Java那样好的运行。为了更好的结果使用Java1.4或者1.5。
| |
|
2.1.2 操作系统
|
jmeter
是100%纯Java应用程序并且能够正确的在任何有适当的Java实现的操作系统上运行。
jmeter 在下列环境已经被测试:
·
Unix (Solaris, Linux,
等)
·
Windows (98, NT, 2000, xp)
·
OpenVMS Alpha 7.3+
|
| |
|
|
如果你计划做JMeter开发或者想使用SUN的java标准扩展包,你将需要下列更多的可选包。
2.2.1 Java 编译器
|
如果你想编译JMeter源代码或者开发JMeter插件,你将需要一个完整的适当的JDK1.3或者更高。
|
|
2.2.2 SAX XML解析器
|
jmeter
使用 Apache's Xerces XML 解析器你可以选择告诉JMeter使用一个不同的XML 解析器. 这样做,把第三方的解析器的类包包含在JMeter的classpath 中, 并更新 jmeter.properties 文件里的解析器实现的全类名. .
|
|
2.2.3 Email 支持
|
jmeter
有有限的 Email 能力。 它能够发送给你测试结果的email,并且支持POP/IMAP 取样器。它现在不支持 SMTP 取样。 为了能够支持 Email, 需要添加Sun 的JavaMail包和激活到JMeter classpath 。
|
|
2.2.4 SSL 加密
|
为了测试一个使用SSL加密(HPPS)的web服务器, jmeter 需要一个提供SSL实现 (例如 Sun的 Java Secure Sockets Extension -- JSSE 包含需要的加密包到JMeter的 classpath 。 同样,通过注册SSL提供者更新 jmeter.properties 。 ).
为了更好的管理证书,也要有一个
SSL
管理器
。
注释: 如果你在JDK1.4上运行,你将不需要下载JSSE,因为SUN已经集成它到JDK1.4中做为标准类库了。
jmeter
代理服务器(见下) 不支持记录 SSL (https).
|
|
2.2.5 JDBC 驱动
|
你需要添加你的厂商的JDBC驱动到classpath ,如果你需要JDBC测试.确认文件是一个jar文件,而不是zip。
|
|
2.2.6 Apache SOAP
|
Apache SOAP
需要 mail.jar 和 activation.jar. 你需要下载并拷贝两个jar文件到你jmeter/lib 目录.一旦文件放到那里,JMeter 会自动找到它们。
|
|
详细参见安装的jar包中的 jmeter Classpath 一章
| |
|
|
快速安装JMeter。细节依赖你下载的发布文件。
注释:避免在一个有空格的路径安装 jmeter。这将导致远程测试出现问题。
2.3.1 下载最新版本
|
要安装一个版本构建,简单的解压zip/tar 文件到你想安装JMeter的目录。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME,其它不需要做什么了。
|
|
2.3.2 下载夜晚构建
|
要安装一个夜晚构建,解压_bin和_lib zip/tar文件到相同的目录结构。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME, jmeter 就可以正确的运行了。
|
| |
|
|
要运行JMeter, 运行 jmeter.bat (for Windows) 或者 jmeter (for Unix) 文件。 jmeter 必须从 jmeter 的bin 目录 (那些文件没有发现的地方)启动。如果它能够的话jmeter.bat文件试图改变到一个适当的目录。
|
jmeter
自动从在它的/lib 和 /lib/ext目录中的jar包发现类。如果你将开发新的 jmeter 组件,你将可以压缩他们成jar包并拷贝到 jmeter 的 /lib/ext 目录。JMeter 将会自导发现在这里的任何jar包的JMeter 组件。如果你不想把扩展jar包放到lib/ext 目录,可以在jmeter.properties中定义 search_paths 属性。不要使用lib/ext 给那些有用的jar包;它仅仅是存放 jmeter 组件。
其他jar包 (例如 JDBC, 和任何JMeter代码需要支持的类库)应该被代替放在lib目录。
注释: jmeter 会发现.jar文件,而不是.zip文件。
你可以在$JAVA_HOME/jre/lib/ext安装有用的jar文件,或者(自从 2.1.1版本)你可以在jmeter.properties中设置user.classpath属性。
注意设置CLASSPATH 环境变量将不起作用。这是因为JMeter 使用“java –jar”启动,并且java命令无记录忽略CLASSPATH 变量,并且当使用-jar选项时-classpath/-cp 选项也被使用。[所有的java程序都是这样,不仅仅是JMeter。]
|
|
2.4.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
或者, 你使用 --proxyHost, --proxyPort, --username, and --password
jmeter
也有自己的内建 HTTP代理服务器,来记录HTTP (不是 HTTPS)浏览器会话。这是和上面的代理设置描述不混淆的,它是在JMeter发出HTTP或者HTTPS请求时使用的。
| |
|
2.4.3 非用户界面模式 (命令行模式)
|
为了不相互影响测试, 你可以选择运行没有用户界面的JMeter。这样做,使用下列命令选项:
-t [
包含测试计划的JMX文件的名字].
-l [
记录取样结果的JTL文件的名字].
-r
运行在jmeter.properties文件里所有的远程服务器 (或者通过在命令行覆盖属性指定远程服务器)
这个脚本也允许我们指定可选的防火墙/代理服务器信息:
-H [
代理服务器主机名或者ip地址]
-P [代理服务器端口]
例如
: jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000
|
|
2.4.4 服务器模式
|
为了
分布测试
,在服务器模式运行JMeter。并且通过用户界面控制每一台服务器。
jmeter-server/jmeter-server.bat
脚本使用适当的classpath为你开始远程注册。如果失败,参见关于jmeter服务器启动细节。
|
运行jmeter-server/jmeter-server.bat,加上下列选项命令:
这个脚本也允许我们指定可选的防火墙/代理服务器信息:
-H [
代理服务器主机名或者ip地址]
-P [代理服务器端口]
例如
: jmeter-server -H my.proxy.server -P 8000
|
|
2.4.5 通过命令行覆盖属性
|
Java
系统属性,JMeter属性,和日志属性可以通过命令行直接覆盖(代替更改jmeter.properties文件)。这样做,使用下列选项:
-D[prop_name]=[value] –
定义一个java系统属性值。
-J[prop name]=[value] –
覆盖一个JMeter属性。
-L[category]=[priority] –
覆盖一个日志设置,设置一个特殊目录为给定的优先级。
-L
标志也可以使用没有目录名来设置根目录日志等级。
例如
:
jmeter -Duser.dir=/home/mstover/jmeter_stuff /
-Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUG
注意
命令行参数在启动时较早被处理,但是在日志系统被设置以后。尝试使用-J标志更新log_level或者log_file属性无效。
|
|
2.4.6日志和错误信息
|
如果JMeter发现一个错误, 一个消息将被写入日志文件。日志文件名在jmeter.properties文件中定义。一般定义为 jmeter.log 。并且在JMeter启动目录,例如bin。
当在Windows下运行时,如果你不设置Windows显示文件扩展名,文件名会仅显示为 jmeter。[你做任何事都很容易的发现伪装成文本文件的病毒和垃圾文件...]
还有记录错误,jmeter.log 文件记录一些测试运行信息。例如:
10/17/2003 12:19:20 PM INFO - jmeter.JMeter: Version 1.9.20031002
10/17/2003 12:19:45 PM INFO - jmeter.gui.action.Load: Loading file: c:/mytestfiles/BSH.jmx
10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Running the test!
10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Starting 1 threads for group BSH. Ramp up = 1.
10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Continue on error
10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 started
10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 is done
10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Test has ended
日志文件对发现错误原因很有帮助,作为JMeter不会打断一个测试来显示一个错误对话框。
|
|
2.4.7 命令行选项目录
|
调用JMeter的 “jmeter -?”命令将打印所有命令选项的一个列表。列表如下:
-h, --help
打印使用信息并退出
-v, --version
打印版本信息并推出
-p, --propfile {argument}
使用的JMeter属性文件
-q, --addprop {argument}
附加的属性文件
-t, --testfile {argument}
运行的jmeter测试文件(.jmx)
-l, --logfile {argument}
日志取样文件
-n, --nongui
非用户界面运行JMeter
-s, --server
运行JMeter服务器
-H, --proxyHost {argument}
设置JMeter使用的代理服务器
-P, --proxyPort {argument}
设置JMeter使用的代理服务器端口
-u, --username {argument}
设置JMeter使用的代理服务器用户名
-a, --password {argument}
设置JMeter使用的代理服务器密码
-J, --jmeterproperty {argument}={value}
-D, --systemproperty {argument}={value}
定义附加的 System 属性
-S, --systemPropertyFile {filename}
一个属性文件被做为系统属性添加
-L, --loglevel {argument}={value}
定义日志等级: [category=]level
例如 jorphan=INFO or jmeter.util=DEBUG
-r, --runremote
从非用户界面模式启动远程服务器
-d, --homedir {argument}
使用的JMeter目录
|
| |
|
|
如果你希望改变JMeter运行时的属性你需要改变在/bin目录的jmeter.properties文件,或者创建你自己的jmeter.properties文件并且在命令行指定它。
注释: 自从 2.1.2,你能够通过JMeter属性user.properties在文件中定义附加的JMeter属性,user.properties默认值是user.properties。如果在当前目录被发现,这个文件被自动加载。类似的,system.properties 被用来更新系统属性。
|
参数
属性
|
描述
|
需要
|
ssl.provider
|
你可以为你的SSL实现指定类。如果你想使用来自sun的JSSE,是这样:
com.sun.net.ssl.internal.ssl.Provider. JMeter默认提供https支持是在你使用 JDK1.4或者你使用把JSSE类的jar包放到JMeter classpath中的JDK1.3时候。
|
No
|
xml.parser
|
你可以指明一个你的XML解析器实现。 默认值是:org.apache.xerces.parsers.SAXParser
|
No
|
remote_hosts
|
逗号分割远程JMeter主机列表。如果你在一个分布式环境运行JMeter,列出你用JMeter远程主机运行的机器。这允许你使用机器的用户界面控制那些服务器。
|
No
|
not_in_menu
|
在JMeter选项屏中你不想看到的组件列表。 如果JMeter被添加越来越多的组件,你会希望定制JMeter只出现那些你感兴趣的组件。你可以在这儿列出那些类名和他们的类标签(JMeter的用户界面出现的字符串), 它们将在选项屏中不出现。
|
No
|
search_paths
|
列出那些JMeter搜索JMeter附加类的路径(以;分割);例如增加的取样器。被添加到lib/ext目录的任何jar包都被发现。
|
No
|
user.classpath
|
jmeter
搜索的有用类库的路径列表。被添加到lib目录的任何jar包都被发现。
|
No
|
user.properties
|
附加的JMeter属性文件名。 初始化属性文件后它们被添加,但是在-q和-J选项被处理之前。
|
No
|
system.properties
|
附加的系统属性文件名。 -S和-D选项被执行前被添加。
|
No
|
又见 jmeter.properties 文件注释,在你改变其它设置时会给你更多的信息。
|
原文地址:http://jakarta.apache.org/jmeter/usermanual/get-started.html