Jmeter使用手册目录目录 (1)一、简介: (3)二、入门: (4)2.1 需求 (4)2.1.1 Java 版本 (4)2.1.2 操作系统 (4)2.2 可选 (5)2.2.1 Java 编译器 (5)2.2.2 SAX XML解析器 (5)2.2.3 Email 支持 (5)2.2.4 SSL 加密 (5)2.2.5 JDBC 驱动 (5)2.2.6 Apache SOAP (6)2.3 安装 (6)2.3.1 下载最新版本 (6)2.4 运行JMeter (6)2.4.2 使用代理服务器 (6)2.4.3 非用户界面模式(命令行模式) (7)2.4.4 服务器模式 (7)2.4.5 通过命令行覆盖属性 (7)2.4.6日志和错误信息 (8)2.4.7 命令行选项目录 (8)2.5 配置JMeter (9)三、创建一个测试计划 (10)3.1 添加和删除元件 (10)3.2 加载和保存元件 (10)3.3 配置树元件 (10)3.4 运行一个测试计划 (10)3.5 作用域规则 (10)四、测试计划元件 (12)4.1 后置处理器元件 (12)4.2 执行顺序 (12)五、使用Jmeter测试 (13)5.1创建一个网站测试计划 (13)5.1.1添加用户 (13)5.1.2 添加默认HTTP请求属性 (14)5.1.3 添加Cookie 支持 (15)5.1.4 添加HTTP 请求 (16)5.1.5 添加一个监听器到试图储存测试结果 (17)5.1.6 保存测试计划 (18)5.1.7 运行测试计划 (18)5.2创建一个高级web测试计划。
(18)5.2.1 用URL重写处理用户会话 (18)5.2.2 使用消息头管理 (18)5.3创建一个数据库测试计划 (18)5.3.1 添加用户 (19)5.3.2 添加JDBC请求 (20)5.3.3添加一个监听器浏览/保存测试结果 (23)5.3.4保存测试计划 (24)5.3.5 运行测试计划 (24)5.3.6 JDBC设置 (24)5.4创建一个FTP测试计划 (25)5.4.1添加用户 (25)5.4.2添加默认FTP请求配置 (26)5.4.3添加FTP请求 (28)5.4.4添加一个监听器浏览/保存测试结果 (29)5.4.5保存测试计划 (30)5.4.6运行测试计划 (30)5.5构建一个Web服务测试计划 (30)5.5.2添加web服务请求 (32)5.6创建JMS主题测试计划 (32)5.6.1添加用户 (32)5.6.2添加JMS订阅者和发布者 (33)5.6.3添加一个监听器浏览/保存测试结果 (35)5.6.4保存测试计划 (36)5.6.5运行测试计划 (36)5.7监听器介绍 (36)5.7.1屏幕捕获 (37)5.7.2非GUI测试运行 (37)5.7.3资源使用 (37)5.7.4 CSV日志格式 (37)六、Badboy+JMeter压力测试 (38)七、JMeter压测OA系统 (47)八、参考资料 (50)一、简介:Apache JMeter是100%纯java桌面应用程序,被设计用来测试C/S结构的软件(例如web应用程序)。
它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,FTP 服务器等等。
JMeter可以用来模拟一个在服务器、网络或者对象上大的负载来测试或者分析在不同的负载类型下的全面性能。
JMeter 的主要测试组件总结如下:1. 测试计划是使用JMeter 进行测试的起点,它是其它JMeter 测试元件的容器。
2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。
实际的请求内容在Sampler中定义,它被线程组包含。
3. 监听器负责收集测试结果,同时也被告知了结果显示的方式。
4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
5. 断言可以用来判断请求响应的结果是否如用户所期望的。
它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。
这个限制对于有效的测试是非常有用的。
6. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
7. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。
前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。
8. 定时器负责定义请求之间的延迟间隔。
二、入门:开始使用JMeter最容易的方法是首先下载最新版并且安装它。
这个版本包含所有你在构建和运行Web,FTP,JDBC,和JNDI测试时使用的所有文件。
如果你想执行JDBC测试,你当然需要从厂商得到适当的JDBC驱动。
JMeter没有提供任何JDBC驱动。
其它你可能需要下载的软件:•BeanShell•Java Activation Framework - JavaMail需要•Java Mail - mail 显示 and SOAP 测试需要•JMS - JMS 取样器•General Java download page下一步, 开始使用JMeter并且参见用户手册构建测试计划一章使自己更加熟悉JMeter 基础 (例如,添加和删除元素)。
最后, 参见如何构建一个明确类型的测试用例的适合章节。
例如,如果你对Web应用测试感兴趣,那就参见构建一个Web测试计划。
其他测试计划的细节是JDBC, FTP, and JNDI。
一旦你熟练构建和执行JMeter测试计划, 通过你的测试计划你会观察到给你更多帮助的各种元素的配置(定时器, 监听器, 断言, 和其他)。
2.1 需求JMeter 需要运行环境匹配的最低需求。
2.1.1 Java 版本JMeter 需要一个完整适当的JVM 1.3或更高的版本. 我们现在尽力与JVM 1.3保持兼容,然而JMeter 在1.4或者更高运行的会最好。
此处我们安装jdk-7u25-windows-i586这个版本。
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插件,你将需要一个完整的适当的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包和activation包到JMeter classpath 。
2.2.4 SSL 加密为了测试一个使用SSL加密(HPPS)的web服务器,JMeter 需要一个提供SSL实现(例如Sun的Java Secure Sockets Extension - JSSE)。
包含需要的加密包到JMeter的classpath 。
同样,通过注册SSL提供者更新jmeter.properties 。
为了更好的管理证书,也要有一个SSL 管理器。
JMeter 代理服务器(见下)不支持记录SSL(https)。
2.2.5 JDBC 驱动你需要添加你的厂商的JDBC驱动到classpath,如果你需要JDBC测试.确认文件是一个jar文件,而不是zip。
2.2.6 Apache SOAPApache SOAP 需要mail.jar 和activation.jar. 你需要下载并拷贝两个jar文件到你jmeter/lib 目录.一旦文件放到那里,JMeter 会自动找到它们。
2.3 安装2.3.1 下载最新版本保证一个JRE/JDK正确的安装并且设置环境变量JAVA_HOME。
之后下载一个Jmeter版本,下载地址:/download_jmeter.cgi。
下载文件进行安装即可。
2.4 运行JMeter要运行JMeter, 运行jmeter.bat (for Windows) 或者jmeter (for Unix) 文件。
JMeter 必须从JMeter 的bin 目录中启动。
亦可以创建快捷方式在桌面等。
2.4.1 JMeter ClasspathJMeter 自动从在它的/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目录。
你可以在%JAVA_HOME%/jre/lib/ext安装有用的jar文件,或者你可以在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 [非代理主机] (例如:*|localhost)-u [代理证书用户名- 如果需要]-a [代理证书密码- 如果需要]例如: jmeter -H my.proxy.server -P 8000 -u username -a password -N localhost或者, 你使用--proxyHost, --proxyPort, --username, and --password2.4.3 非用户界面模式(命令行模式)为了不相互影响测试, 你可以选择运行没有用户界面的JMeter。