《完整的JMETER使用手册》由会员分享,可在线阅读,更多相关《完整的JMETER使用手册(108页珍藏版)》请在金锄头文库上搜索。
1、JMETER中文手册1. 简介Apache JMeter是100%纯java桌面应用程序,被设计用来测试客户端/服务器结构的软件(例如web应用程序)。它可以用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。JMeter可以用来在一个服务器、网络或者对象上模拟重负载来测试它的强度或者分析在不同的负载类型下的全面性能。另外,JMeter能够通过让你们用断言创建测试脚本来验证我们的应用程序是否返回了我们期望的结果,从而帮助我们回归测试我们的程序。为了最大的灵活性,JMeter允许我们使用正则表达式创建断言。1.1 历史A
2、pache软件组织的Stefano Mazzocchi是JMeter的创始人。他编写它起初是为了测试Apache JServ的性能(一个已经被Apache Tomcat工程所替代的工程)。我们重新设计JMeter来增强用户界面并增加功能测试的能力。1.2 未来我们希望看到作为开发者利用它的可插入架构使JMeter的功能快速扩展。未来发展的主要目标是在没有影响JMeter的负载测试能力的情况下尽可能使JMeter成为最实用的回归测试工具。2. 入门开始使用JMeter最容易的方法是首先下载最新版并且安装它。这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI等测试时使用需要的所有文
3、件。如果你想执行JDBC测试,你当然需要从供应商得到适当的JDBC驱动。JMeter没有提供任何JDBC驱动。你可能需要下载的其它软件: BeanShell - BeanShell函数和测试元件需要 Java Activation Framework - JavaMail需要 Java Mail - Mail可视化,Mail Reader 和 WebService(SOAP)取样器需要 JMS - JMS 取样器需要 General Java download page 详细参见JMeter Classpath 一章安装附加的jar包 下一步, 开始使用JMeter并且参见用户手册创建一个测试
4、计划一章使自己更加熟悉JMeter基础 (例如,添加和删除元件)。最后, 参见如何构建一个明确类型的测试用例的适合章节。例如,如果你对Web应用测试感兴趣,那就参见创建一个Web测试计划。其他具体的测试计划章节是: 高级Web测试计划 JDBC FTP JMS 点到点 JMS 主题 LDAP LADP扩展 WebServices (SOAP)一旦你熟练创建和执行JMeter测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元件的配置(定时器, 监听器, 断言, 和其他)。2.1 需求JMeter 需要最小需求的运行环境。2.1.1 Java 版本JMeter需要一个完全适当的JVM1.4
5、或者更高因为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 可选如果你计划做JMeter开发或者想使用SUN的java标准扩展包,你将需要下列更多的可选包。2.2.1 Java 编译器如果你想编译JMeter源代码或者开发JMeter插
6、件,你将需要一个完整的适当的JDK1.4或者更高。2.2.2 SAX XML解析器JMeter 使用 Apache的 Xerces XML 解析器,你可以选择告诉JMeter使用一个不同的XML 解析器。 这样做,把第三方的解析器的类包包含在JMeter的classpath中, 并更新 jmeter.properties 文件里的解析器实现的全类名。2.2.3 Email 支持JMeter有有限的 Email 能力。 它能够发送基于测试结果的Email,并且支持POP/IMAP 取样器。它现在不支持 SMTP 取样。 为了能够支持 Email, 需要添加Sun 的JavaMail包和activ
7、ation包到JMeter classpath 。2.2.4 SSL 加密为了测试一个使用SSL加密(HPPS)的web服务器, JMeter 需要一个提供SSL实现 (例如 Sun的 Java Secure Sockets Extension - JSSE)。包含需要的加密包到JMeter的classpath。 同样,通过注册SSL提供者更新system.properties文件。JMeter默认协议等级TLS(传输层安全性)。这可以通过修改在jmeter.proerties或者user.properties文件中的https.default.protocol来改变。JMeter被配置接受所
8、有的证书,不管是否信赖和合法时间等。这允许在测试服务器最大灵活性。如果服务器需要一个客户端证书,这是可以提供的。为了更好的管理证书,也要有一个SSL 管理器 。JMeter 代理服务器(见下)不支持记录SSL(https)。2.2.5 JDBC 驱动如果你需要JDBC测试,需要添加厂商的JDBC驱动到classpath。确认文件是一个jar文件,而不是zip。2.2.6 Apache SOAPApache SOAP 需要 mail.jar 和 activation.jar. 你需要下载并拷贝这两个jar文件到你jmeter/lib 目录.一旦文件放到那里,JMeter 会自动找到它们。2.2.
9、7 BeanShell为了运行BeanShell函数或者任何BeanShell测试元件(取样器,定时器等),你需要从http:/www.beanshell.org/下载beanshell的jar文件并拷贝jar文件到jmeter/lib目录,JMeter会自动找到它。2.2.8 ActiveMQ 3.0类库详细参见 http:/activemq.apache.org/initial-configuration.html详细参见JMeter Classpath 一章安装附加的jar包2.3 安装避免在一个有空格的路径安装 JMeter。这将导致远程测试出现问题。我们推荐大多数用户运行最新版本。要
10、安装一个构建版本,简单解压zip/tar文件到你想安装JMeter的目录。保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME,其它不需要做什么了。安装目录接口应该看到的像这样一些东西(2.3.1版本):jakarta-jmeter-2.3.1jakarta-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-jmet
11、er-2.3.1/printable_docs如果你想的话你可以重命名父目录(例如 jakarta-jmeter-2.3.1) ,但是不要改变任何子目录命。父目录路径中不能包含任何空格;如果包含,你运行客户端-服务器模式会有问题。2.4 运行 JMeter要运行JMeter, 运行 jmeter.bat (for Windows) 或者 jmeter (for Unix) 文件。那些文件在bin目录下。稍微暂停后,JMeter GUI会显示出来。在bin目录你会发现有些附加脚本很有用。Windows脚本文件(CMD文件需要Win2K或者更新): jmeter.bat - 运行JMeter(默认
12、在GUI模式) jmeter-n.cmd - 使用一个JMX文件运行非GUI测试 jmeter-n-r.cmd - 使用一个JMX文件远程运行一个非GUI测试 jmeter-t.cmd - 在GUI模式使用一个JMX文件 jmeter-server.bat - 以服务器模式启动JMeter注意: LAST可以在jmeter-n.cmd, jmeter-t.cmd 和 jmeter-n-r.cmd中使用,意味着最后一次测试会运行.Unix脚本文件; 可以运行在大多 Linux/Unix 系统. jmeter - 运行JMeter(默认在GUI模式) jmeter-server - 以服务器模式启
13、动JMeter2.4.1 JMeter ClasspathJMeter 自动从下列目录中的jar文件发现类。 JMETER_HOME/lib - 用来放使用的jar文件 JMETER_HOME/lib/ext - 用来放JMeter组件和扩展如果你开发新的JMeter组件,你可以压缩它们成jar包并拷贝到JMeter的/lib/ext目录。JMeter将会自动发现在这里的任何jar文件中的JMeter组件。支持的jar文件(类库)应该放在lib目录.如果你不想把扩展jar包放到lib/ext目录,可以在jmeter.properties中定义search_paths属性。不要使用lib/ext
14、给那些公用的jar包;它仅仅是存放JMeter组件。其他jar包 (例如 JDBC, 和任何JMeter代码需要支持的类库)应该被代替放在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选项时-c
15、lasspath/-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 -passwordJMeter也有自己的内建HTTP代理服务器,来记录HTTP(不是 HTTPS)浏览器会话。这是和上面的代理设置描述不混淆的,它是在JMeter发出HTTP或者HTTPS请求时使用的。2.4.3 非用户界面模式 (命令行模式)为了不相互影响测试, 你可以选择运行没有用户界面的JMe