Jmeter使用入门篇--Jmeter介绍
下载以及安装
有很多可以参考的下载安装教程:
Jmeter简介
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
JMeter 可以用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试。
Jmeter优点
-
开源许可: Jmeter 是完全免费的,并提供了源码可供自定义开发
-
图形界面模式:提供了方便的图形界面来编辑和开发测试脚本
-
平台无关:可以轻易在 windows、linux、mac 上运行
-
多线程框架:通过线程组,能够轻易的设置不同测试的并发用户。
-
图形测试结果:提供了图表、表格、树、文件等格式的结果显示。
-
易于安装:jmeter 不需要安装,下载解压即可用。
-
高扩展性:jmeter 支持用户自定义测试脚本,同样还提供了各种插件。
-
多测试类型支持:支持性能测试、分布式测试、功能测试
-
仿真模拟:支持多用户并发测试
-
多协议支持:支持 http、jdbc、ldap、soap、jms、ftp 等等协议
-
录制&回放:支持用 badboy 或 jmeter 录制
-
脚本测试:jmeter 支持 beanshell 和 selenium
JMeter 工作原理
JMeter核心组件
学习、研究 jmeter
之前,深入了解 jmeter 的基本组件及其作用是必须的。接下来我们开始讨论基于 jmetere 进行性能测试必须掌握的组件,以便大家逐步掌握 jemter 的核心基本能力。下面的几个组件是入门 jmeter 必须掌握的:
1) Thread Group(线程组
线程组是一系列线程的集合,每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中,每个线程意味着模拟一个真实用户向服务器发起请求。 在 jmeter 中,线程组组件运行用户设置线程数量、初始化方式等等配置。例如,如果你设置线程数为 100,那么 jmeter 将创建并模拟测试100 个用户请求到服务器端。 如下图所示:
2) Samplers
我们常用的 jmeter 测试有 HTTP、FTP、JDBC 协议,以及其他各种支持的协议。在 jmeter 中 Samplers 组件已经实现协议的支持。如下图所示:
1 FTP Request
FTP Request 元素提供了测试 ftp 服务器的能力,这个元素让我们能够去测试 ftp 的上传、下载功能。下面我们看一下 ftp 元素的基本配置说明:
2 HTTP Request
HTTP Request 提供了 HTTP/HTTPS 协议的测试支持能力。了解下基本的功能。
3 Java Request
Java Request 提供了测试 java API 的支持,但要注意要测试的
java API 需要有对应的测试类,该测试类必须继承AbstractJavaSamplerClient。
示例如下:
待测类 class Sum; -> 生成 sum.jar
继承至 AbstractJavaSamplerClient 的测试类 Class
TestSum(AbstractJavaSamplerClient) -> 生成 testSum.jar
注:
一个 java 测试应该要实现以下几个方法,以便 jmeter java sampler 可以正确调用:
注意 testSum.jar 要能调用 sum.jar。将上述 sum.jar、testSum.jar 拷贝至 jmeter 安装目录的 lib/ext下。
3) Listeners
在 jmeter 中 Listeners 提供了执行结果生成和显示能力的支持,提供了树形结构、表、图形和日志方式
4) Configuration
配置元件包含了 Samplers 下各种 Sampler 的默认配置设置,如果有配置默认配置,在 Sampler 下对应的 sampler 就会使用该默认配置.
下面我们看看我们主要用到的默认配置有哪些