完整的JMETER使用手册.doc

上传人:h**** 文档编号:662412 上传时间:2018-10-26 格式:DOC 页数:107 大小:1.01MB
下载 相关 举报
完整的JMETER使用手册.doc_第1页
第1页 / 共107页
完整的JMETER使用手册.doc_第2页
第2页 / 共107页
完整的JMETER使用手册.doc_第3页
第3页 / 共107页
完整的JMETER使用手册.doc_第4页
第4页 / 共107页
完整的JMETER使用手册.doc_第5页
第5页 / 共107页
点击查看更多>>
资源描述

1、JMETER 中文手册1. 简介Apache JMeter 是 100%纯 java 桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如 web 应用程序)。它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库, FTP 服务器等等。JMeter 可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。另外,JMeter 能够通过让你们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter 允许我们使用正则表达式创

2、建断言。1.1 历史Apache 软件组织的 Stefano Mazzocchi 是 JMeter 的创始人。他编写它起初是为了测试 Apache JServ 的性能(一个已经被 Apache Tomcat 工程所替代的工程)。我们重新设计 JMeter 来增强用户界面并增加功能测试的能力。1.2 未来我们希望看到作为开发者利用它的可插入架构使 JMeter 的功能快速扩展。未来发展的主要目标是在没有影响 JMeter 的负载测试能力的情况下尽可能使JMeter 成为最实用的回归测试工具。2. 入门开始使用 JMeter 最容易的方法是首先下载最新版 并且安装它。这个版本包含所有你在构建和运行

3、 Web,FTP,JDBC,和 JNDI 等测试时使用需要的所有文件。如果你想执行 JDBC 测试,你当然需要从供应商得到适当的 JDBC 驱动。JMeter没有提供任何 JDBC 驱动。你可能需要下载的其它软件: BeanShell - BeanShell 函数和测试元件需要 Java Activation Framework - JavaMail 需要 Java Mail - Mail 可视化, Mail Reader 和 WebService(SOAP)取样器需要 JMS - JMS 取样器需要 General Java download page 详细参见 JMeter Classpa

4、th 一章安装附加的 jar 包 下一步, 开始使用 JMeter 并且参见用户手册创建一个测试计划一章使自己更加熟悉 JMeter 基础 (例如,添加和删除元件)。最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web 应用测试感兴趣,那就参见 创建一个 Web 测试计划。其他具体的测试计划章节是: 高级 Web 测试计划 JDBC FTP JMS 点到点 JMS 主题 LDAP LADP 扩展 WebServices (SOAP)一旦你熟练创建和执行 JMeter 测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元件的配置(定时器, 监听器, 断言, 和其他)。

5、2.1 需求JMeter 需要最小需求的运行环境。2.1.1 Java 版本JMeter 需要一个完全适当的 JVM1.4 或者更高因为 JMeter 仅使用 Java 标准 API, 请不要把因为 JRE 实现版本而无法运行JMeter 的 bug 报告提交。2.1.2 操作系统JMeter 是 100%纯 Java 应用程序并且能够正确的在任何有适当的 Java 实现的操作系统上运行。JMeter 在下列环境已经被测试: Unix (Solaris, Linux, 等) Windows (98, NT, 2000, xp) OpenVMS Alpha 7.3+2.2 可选如果你计划做 JM

6、eter 开发或者想使用 SUN 的 java 标准扩展包,你将需要下列更多的可选包。2.2.1 Java 编译器如果你想编译 JMeter 源代码或者开发 JMeter 插件,你将需要一个完整的适当的 JDK1.4 或者更高。2.2.2 SAX XML 解析器JMeter 使用 Apache 的 Xerces XML 解析器,你可以选择告诉 JMeter 使用一个不同的 XML 解析器。 这样做,把第三方的解析器的类包包含在 JMeter 的classpath 中, 并更新 jmeter.properties 文件里的解析器实现的全类名。2.2.3 Email 支持JMeter 有有限的 E

7、mail 能力。 它能够发送基于测试结果的 Email,并且支持POP/IMAP 取样器。它现在不支持 SMTP 取样。 为了能够支持 Email, 需要添加 Sun 的 JavaMail 包和 activation 包到 JMeter classpath 。2.2.4 SSL 加密为了测试一个使用 SSL 加密(HPPS)的 web 服务器, JMeter 需要一个提供SSL 实现 (例如 Sun 的 Java Secure Sockets Extension - JSSE)。包含需要的加密包到 JMeter 的 classpath。 同样,通过注册 SSL 提供者更新system.prop

8、erties 文件。JMeter 默认协议等级 TLS(传输层安全性)。这可以通过修改在jmeter.proerties 或者 user.properties 文件中的“https.default.protocol“来改变。JMeter 被配置接受所有的证书,不管是否信赖和合法时间等。这允许在测试服务器最大灵活性。如果服务器需要一个客户端证书,这是可以提供的。为了更好的管理证书,也要有一个 SSL 管理器 。JMeter 代理服务器(见下)不支持记录 SSL(https)。2.2.5 JDBC 驱动如果你需要 JDBC 测试,需要添加厂商的 JDBC 驱动到 classpath。确认文件是一个

9、 jar 文件,而不是 zip。2.2.6 Apache SOAPApache SOAP 需要 mail.jar 和 activation.jar. 你需要下载并拷贝这两个jar 文件到你 jmeter/lib 目录.一旦文件放到那里,JMeter 会自动找到它们。2.2.7 BeanShell为了运行 BeanShell 函数或者任何 BeanShell 测试元件(取样器,定时器等),你需要从 http:/www.beanshell.org/ 下载 beanshell 的 jar 文件并拷贝 jar文件到 jmeter/lib 目录,JMeter 会自动找到它。2.2.8 ActiveMQ

10、3.0 类库详细参见 http:/activemq.apache.org/initial-configuration.html详细参见 JMeter Classpath 一章安装附加的 jar 包2.3 安装避免在一个有空格的路径安装 JMeter。这将导致远程测试出现问题。我们推荐大多数用户运行最新版本 。要安装一个构建版本,简单解压 zip/tar 文件到你想安装 JMeter 的目录。保证一个 JRE/JDK 正确的安装并且设置环境变量 JAVA_HOME,其它不需要做什么了。安装目录接口应该看到的像这样一些东西(2.3.1 版本):jakarta-jmeter-2.3.1jakarta

11、-jmeter-2.3.1/binjakarta-jmeter-2.3.1/docsjakarta-jmeter-2.3.1/extrasjakarta-jmeter-2.3.1/lib/jakarta-jmeter-2.3.1/lib/extjakarta-jmeter-2.3.1/lib/junitjakarta-jmeter-2.3.1/printable_docs如果你想的话你可以重命名父目录(例如 jakarta-jmeter-2.3.1) ,但是不要改变任何子目录命。父目录路径中不能包含任何空格;如果包含,你运行客户端-服务器模式会有问题。2.4 运行 JMeter要运行 JMet

12、er, 运行 jmeter.bat (for Windows) 或者 jmeter (for Unix) 文件。那些文件在 bin 目录下。稍微暂停后,JMeter GUI 会显示出来。在 bin 目录你会发现有些附加脚本很有用。Windows 脚本文件(CMD 文件需要Win2K 或者更新): jmeter.bat - 运行 JMeter(默认在 GUI 模式) jmeter-n.cmd - 使用一个 JMX 文件运行非 GUI 测试 jmeter-n-r.cmd - 使用一个 JMX 文件远程运行一个非 GUI 测试 jmeter-t.cmd - 在 GUI 模式使用一个 JMX 文件 j

13、meter-server.bat - 以服务器模式启动 JMeter注意: LAST 可以在 jmeter-n.cmd, jmeter-t.cmd 和 jmeter-n-r.cmd 中使用,意味着最后一次测试会运行.Unix 脚本文件; 可以运行在大多 Linux/Unix 系统. jmeter - 运行 JMeter(默认在 GUI 模式) jmeter-server - 以服务器模式启动 JMeter2.4.1 JMeter ClasspathJMeter 自动从下列目录中的 jar 文件发现类。 JMETER_HOME/lib - 用来放使用的 jar 文件 JMETER_HOME/li

14、b/ext - 用来放 JMeter 组件和扩展如果你开发新的 JMeter 组件,你可以压缩它们成 jar 包并拷贝到 JMeter 的/lib/ext 目录。JMeter 将会自动发现在这里的任何 jar 文件中的 JMeter 组件。支持的 jar 文件(类库)应该放在 lib 目录.如果你不想把扩展 jar 包放到 lib/ext 目录,可以在 jmeter.properties 中定义 search_paths 属性。不要使用 lib/ext 给那些公用的 jar 包;它仅仅是存放JMeter 组件。其他 jar 包 (例如 JDBC, 和任何 JMeter 代码需要支持的类库)应该

15、被代替放在lib 目录 - 而不是 lib/ext 目录。注意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 程序都是这样,不仅仅是JMe

16、ter。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, -pro

17、xyPort, -username, and -passwordJMeter 也有自己的内建 HTTP 代理服务器,来记录 HTTP(不是 HTTPS)浏览器会话。这是和上面的代理设置描述不混淆的,它是在 JMeter 发出HTTP 或者 HTTPS 请求时使用的。2.4.3 非用户界面模式 (命令行模式)为了不相互影响测试, 你可以选择运行没有用户界面的 JMeter。这样做,使用下列命令选项:-n 这是指定 JMeter 在非用户界面模式运行-t 包含测试计划的 JMX 文件的名字-l 记录取样结果的 JTL 文件的名字-r 运行在 jmeter.properties 文件里所有的远程服务

18、器 (或者通过在命令行覆盖属性指定远程服务器)这个脚本也允许我们指定可选的防火墙/代理服务器信息:-H 代理服务器主机名或者 ip 地址-P 代理服务器端口例如 : jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 80002.4.4 服务器模式为了分布测试 ,在服务器模式运行 JMeter,并且通过用户界面控制每一台服务器。jmeter-server/jmeter-server.bat 脚本使用适当的 classpath 为你开始远程注册。如果失败,参见关于 JMeter 服务器启动细节。运行 jmeter-server/jm

19、eter-server.bat,加上下列选项命令:这个脚本也允许我们指定可选的防火墙/代理服务器信息:-H 代理服务器主机名或者 ip 地址-P 代理服务器端口例如 : jmeter-server -H my.proxy.server -P 80002.4.5 通过命令行覆盖属性Java 系统属性,JMeter 属性,和日志属性可以通过命令行直接覆盖(代替更改jmeter.properties 文件)。这样做,使用下列选项:-Dprop_name=value - 定义一个 java 系统属性值。-Jprop name=value - 覆盖一个 JMeter 属性。-Lcategory=prio

20、rity - 覆盖一个日志设置,设置一个特殊目录为给定的优先级。-L 标志也可以使用没有目录名来设置根目录日志等级。例如 :jmeter -Duser.dir=/home/mstover/jmeter_stuff -Jremote_hosts=127.0.0.1 -Ljmeter.engine=DEBUGjmeter -LDEBUG注意命令行参数在启动时较早被处理,但是在日志系统被设置以后。尝试使用-J 标志更新 log_level 或者 log_file 属性无效。2.4.6 日志和错误信息如果 JMeter 发现一个错误, 一个消息将被写入日志文件。日志文件名在jmeter.propert

21、ies 文件中定义。一般定义为 jmeter.log 。并且在 JMeter 启动目录,例如 bin。当在 Windows 下运行时,如果你不设置 Windows 显示文件扩展名,文件名会仅显示为 JMeter。你可以做一些事都很容易地发现伪装成文本文件的病毒和垃圾文件.还有记录错误,jmeter.log 文件记录一些测试运行信息。例如:10/17/2003 12:19:20 PM INFO - jmeter.JMeter: Version 1.9.2003100210/17/2003 12:19:45 PM INFO - jmeter.gui.action.Load: Loading fil

22、e: c:mytestfilesBSH.jmx10/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 erro

23、r10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 started10/17/2003 12:19:52 PM INFO - jmeter.threads.JMeterThread: Thread BSH1-1 is done10/17/2003 12:19:52 PM INFO - jmeter.engine.StandardJMeterEngine: Test has ended日志文件对发现错误原因很有帮助,作为 JMeter 不会打断一个测试来显示一个错误对话框。2.4.7 命令行选项目录调

24、用 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 设

25、置 JMeter 使用的代理服务器-P, -proxyPort argument 设置 JMeter 使用的代理服务器端口-u, -username argument 设置 JMeter 使用的代理服务器用户名-a, -password argument 设置 JMeter 使用的代理服务器密码-J, -jmeterproperty argument=value 定义附加的 JMeter 属性-D, -systemproperty argument=value 定义附加的 System 属性-S, -systemPropertyFile filename 一个属性文件被做为系统属性添加-L,

26、-loglevel argument=value 定义日志等级: category=level例如 jorphan=INFO or jmeter.util=DEBUG-r, -runremote 从非用户界面模式启动远程服务器-d, -homedir argument 使用的 JMeter 目录2.5 配置 JMeter如果你希望改变 JMeter 运行时的属性你需要改变在/bin 目录的jmeter.properties 文件,或者创建你自己的 jmeter.properties 文件并且在命令行指定它。注意自 从 2.1.2,你能够通过 JMeter 属性 user.properties

27、在文件中定义附加的JMeter 属性, user.properties 默认值是 user.properties。如果在当前目录被发现,这个文件被自动加载。类似的,system.properties 被用来更新系统属性。参数属性 描述 需要 ssl.provider 你可以为你的 SSL 实现指定类。如果你想使用来自sun 的 JSSE,是这 样:.ssl.internal.ssl.Provider。JMeter 默认提供 https 支持。如果你正在使用 JDK1.4, 或者你使用带 JSSE 类的 jar 文件在 JMeter 的 classpath 里的JDK1.4。 No .ssl.i

28、nternal.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 被添加越来越多的组件,你会希望定制 No

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 流程标准

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。