1. 新手入门
1.0 概述
当你使用JMeter的时候一般会遵循以下过程:
1.0.1 创建测试计划
首先,你需要启动JMeter GUI
然后,你可以选择从浏览器或本地应用程序记录应用程序。通过菜单:文件 → Templates… → Recording。
注意,你还可以通过手动生成测试计划,你需要阅读文档并理解上面概念。
你还可以通过下面的方式进行调试:
-
运行 → Start no pauses
-
运行 → 启动
-
验证线程组
和查看结果树的渲染和调试(CSS/JQUERY, JSON, Regexp, XPath)。 确保在构建测试计划时遵循最佳实践。
1.0.2 负载测试执行
一旦测试计划就绪,就可以开始负载测试了。第一步是配置运行JMeter的注入器,这对于任何其他负载测试工具包括:
-
在CPU、内存和网络方面对机器进行正确的调整。
-
操作系统的优化
-
Java设置: 确保你安装Java支持的JMeter的最新版本。
-
正确调整Java堆大小: 默认的JMeter以512MB的堆运行,这可能对你的测试没什么帮助,主要取决于你的测试计划和你想要运行的线程数。
一旦一切就绪,你将使用命令行模式(称为非GUI模式)来运行负载测试。
不要使用GUI模式运行负载测试!
使用非gui模式,你可以生成包含CSV(或XML)结果的文件,并在负载测试结束时生成JMeter生成HTML报告。默认情况下,JMeter将在运行时提供负载测试的摘要。
你还可以使用后端侦听器在测试期间获得实时结果。
1.0.3 负载测试分析
负载测试结果后,可以使用HTML报告来分析负载测试。
1.0.4 让我们开始吧
开始使用JMeter最简单的方法是首先下载最新的产品版本并安装它。该版本包含构建和运行大多数类型的测试所需的所有文件,例如 Web(HTTP / HTTPS)、FTP、JDBC、LDAP、Java、JUnit等。
如果你想要执行JDBC测试,那么你当然需要来数据库供应商JDBC驱动程序。JMeter不包含任何JDBC驱动程序。
JMeter包括JMS API jar包,但不包括JMS客户端实现。如果要运行JMS测试,则需要从JMS提供下载适当的jar包。
有关安装其他jar包的详细信息,请参阅JMeter Classpath部分。
接下来,启动JMeter并通过创建测试计划来熟悉JMeter基础知识(例如,添加和删除元素)。
最后,通过相关章节的学习,了解如何创建特定类型的测试计划。例如,如果你对测试Web应用程序感兴趣,那么请参阅创建Web测试计划的部分。其他具体的测试计划部分是:
-
Advanced Web Test Plan
-
JDBC
-
FTP
-
JMS Point-to-Point
-
JMS Topic
-
LDAP
-
LDAP Extended
-
WebServices (SOAP)
一旦你熟悉构建和运行JMeter测试计划,你就可以查看各种配置元素(计时器、侦听器、断言和其他),这些元素可以让你对测试计划有更多的控制。
1.1 要求
要想运行JMeter,需要你的计算机环境满足一些要求。
1.1.1 Java版本
JMeter需要一个完全兼容的JVM 8,我们建议你安装这些主要版本的最新版本。但是,JMeter 3.2在Java 9没有完全测试。
因为JMeter只使用标准的Java APIs,所以,如果是由于JRE的实现问题导致JMeter无法运行请不要提交bug报告。
1.1.2 操作系统
JMeter是一个100%的Java应用程序,应该可以在任何具有兼容Java实现的系统上运行。
使用JMeter测试的操作系统可以这里wiki上查看。
即使你的操作系统没有在wiki页面上列出,JMeter也应该可以在JVM兼容的情况下运行。
1.2 可选项
如果你计划进行JMeter开发,那么你将需要下面列出的一个或多个可选包。
1.2.1 Java编译器
如果你想构建JMeter源或开发JMeter插件,那么你将需要一个完全兼容的JDK 8或更高版本。
1.2.2 Email支持
JMeter具有广泛的电子邮件功能。它可以根据测试结果发送电子邮件,并有一个POP3(S)/IMAP(S)采样器。它也有一个SMTP(S)采样器。
1.2.4 SSL加密
为了使用SSL加密(HTTPS)测试web服务器,JMeter要求提供SSL的实现,就像Sun Java 1.4和上面的例子一样。如果你的Java版本不包括SSL支持,那么可以添加一个外部实现。在JMeter classpath 中包含必要的加密包。同时,更新系统。属性来注册SSL提供者。
JMeter HTTP 默认协议级别为TLS。这可以通过编辑JMeter属性来改变 https.default.protocol 在 jmeter.properties 或 user.properties 。
JMeter HTTP samplers被配置为接受所有证书,不管是否可信,都不考虑有效时间,等等。 这是为了在测试服务器上允许最大的灵活性。
如果服务器需要客户端证书,则可以提供此证书。
还有SSL管理器,用于对证书进行更大的控制。
JMeter代理服务器(见下)支持记录HTTPS(SSL)。
SMTP sampler可以选择使用本地信任存储或信任所有证书。
1.2.5 JDBC驱动
如果你想进行JDBC测试,则需要将数据库供应商的JDBC驱动程序添加到classpath。确保文件是jar文件,而不是zip文件。
1.2.6 JMS客户端
JMeter现在包含来自Apache Geronimo的JMS API,因此你只需要从JMS提供者中添加适当的JMS客户端实现jar包。详情请参阅他们的文件。在JMeter Wiki也可能找到一些相关信息。
1.2.7 ActiveMQ JMS库
你需要添加 activemq-all-X.X.X.jar 到你的classpath,添加 ../lib/ 目录.
有关详细信息,请参阅 ActiveMQ初始配置页面。
有关安装jar包更多细节,请参见JMeter Classpath部分。
1.3 安装
我们建议大多数用户运行最新版本。
要安装一个发布版本,只需将zip/tar文件解压缩到需要安装JMeter的目录。如果你已经正确地安装了JRE/JDK并设置了JAVA_HOME环境变量集,那么你就没有别的事情可做了。