最近在做一组性能测试,接触到了JMeter这个测试工具,在这里记录一下JMeter的介绍以及简单安装过程。
JMeter简介
全名为ApacheJMeter
JMeter是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。
它是Apache软件基金会的StefanoMazzocchiJMeter最初开发的。
它主要对ApacheJServ(现在称为如ApacheTomcat项目)的性能进行测试。
Apache后来重新设计JMeter增强的图形用户界面和添加功能测试能力。
ApacheJMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。
JMeter的作用
它可以用来测试静态和动态资源的性能,例如:静态文件,JavaServlet,CGIScripts,JavaObject,数据库和FTP服务器等等。
JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。
为了更高的适应性,JMeter允许调用二次开发的jar包来丰富你的测试场景;JMeter允许你使用正则表达式来创建这些assertions。
JMeter的使用范围
JMeter是一个具有图形界面,使用Swing图形API的Java桌面应用程序,因此可以运行在任何环境/工作站接受一个Java虚拟机,例如:在Windows,Linux,MAC等。
JMeter支持的协议
web——HTTP,HTTPS站点的Web1.0的Web2.0(ajax,flexandflex-ws-amf)
WebServices——SOAP/XML-RPC
通过JDBC驱动程序的数据库
目录——LDAP
通过JMS面向消息的服务
Service——POP3,IMAP,SMTP
FTP服务
JMeter的特点
以下是一些JMeter的特点:
- 它是免费的。开放源码软件。
- 它具有简单,直观的图形用户界面。
- JMeter中负载和性能测试许多不同的服务器类型:网站--HTTP,HTTPS,SOAP,数据库通过JDBC,LDAP,JMS,邮件POP3
- 它是独立于平台的工具。在Linux/UNIX,JMeter中JMeter中shell脚本点击可以调用。在Windows上,它可以调用启动JMeter.bat文件。
- 它具有完整的Swing和轻量级组件支持(预编译的JAR使用包javax.swing中*)。
- JMeter测试计划存储为XML格式。这意味着可以使用文本编辑器生成一个测试计划。
- 它的完整的多线程框架,允许并发多线程和同步采样不同的功能由单独的线程组采样。
- 它是高度可扩展的。
- 也可用于执行应用程序的自动化测试和功能测试。
JMeter的安装
一、进入ApacheJMeter官网,选择DownloadRelease,如下图:
二、根据操作系统,选择要下载的压缩包:
注意事项:注意图片标题中的Java版本要求,这里要求的是Java8及以上的版本。我们一般选择Binaries下的压缩包,除非是你想要使用它的源码做研究,则可以选择Source下的资源包。
三、解压下载下来的压缩包,得到如下的文件结构:
四、打开bin目录,通过双击ApacheJMeter.jar即可启动JMeter:
也可以通过可执行文件进行启动,不同系统上的可执行文件在上图中有标出。JMeter的运行需要Java环境的支持,需要提前安装JDK。
JMeter根目录结构说明
backup目录
脚本备份目录,里边的文件都是以.jmx后缀结尾的文件。
实际开始安装解压后是不存在这个目录的,在使用过JMeter后,JMeter自动创建这个目录,然后备份了脚本文件。
bin目录
可执行文件目录Jmeter.bat:是启动JMeter的主脚本。
Jmeter-server.bar:是用来实现联机负载。
Jmeter.properties:是JMeter主要的配置文件,超过80%的配置项都是通过这个文件实现。修改配置文件后,要重启Jmeter才能生效。
Jmeter.bat打开Jmeter主界面。Jmeter使用的日志文件名称被定义到Jmeter.properties中,默认在Jmeter.log可查看日志。
dosc目录
docs目录下的文件是JMeter的JavaDocs。printable_docs的usermanual子目录下的内容是JMeter的用户手册文档,其中component_reference.html是最常用到的核心元件帮助文档。该目录下存放的是JMeter官方文档的API文档,主要是用于二次开发。
extras目录
该目录下的文件提供了对构建工具Ant的支持,可以使用Ant来实现测试自动化,例如批量脚本执行,产生HTML格式的报表,测试运行时,可以把测试数据记录下来,Jmeter会自动生成一个.jtl文件,将该文件放到extras目录下,运行“ant-Dtest=文件名report”,就可以生成测试统计报表。也可以用于持续集成。
lib目录
该目录包含两个子目录,其中ext子目录存放有JMeter的核心jar包,另一个junit子目录存放JUnit测试脚本。用户扩展所依赖的包,应该直接放到lib目录下,而非lib/ext下。
注意:无法识别zip格式的包文件,所以需要的包文件均要求以.jar结尾。
LicensesJMeter软件许可文件目录
printable_docs目录
该目录存放的是JMeter官方提供的帮助文档。
printable_docs的demos子目录下有一些常用的JMeter脚本案例,可以作为参考。
LICENSEJMeter——许可说明
NOTICEJMeter——简单信息说明
README.md——JMeter官方基本介绍
bin目录说明
window下
JMeter.bat
启动JMeter(默认GUI模式)
jmeterw.cmd
启动JMeter没有windowsshell控制台(默认GUI模式)
JMeter-n.cmd
删除一个JMX文件在运行非GUI测试
JMeter-n-r.cmd
删除一个JMX文件在运行非GUI远程测试
JMeter-t.cmd
删除一个JMX文件在GUI模式下加载它
JMeter-server.bat
在服务器模式启动JMeter
mirror-server.cmd
在非GUI模式下运行JMeter镜像服务器
shutdown.cm
运行关闭客户端,以优雅地停止非GUI实例
stoptest.cmd
运行关闭客户端,停止非GUI实例
在大多数Linux/UNIX系统上
JMeter
启动JMeter(默认GUI模式).定义一些可能不适用于所有JVM的JVM设置。
JMeter-server
在服务器模式启动JMeter(使用适当的参数调用JMeter脚本)
JMeter.sh
非常基础的JMeter脚本(你可能需要调整JVM选项,比如内存设置).
mirror-server.sh
在非GUI模式下运行JMeter镜像服务器
shutdown.sh
运行关闭客户端,以优雅地停止非GUI实例
stoptest.sh
运行关闭客户端,停止非GUI实例
JMeter插件安装
一、进入JMeter插件网站,下载JMeter插件包
二、解压插件,找到JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar放到apache-JMeter-5.4.1\lib\ext目录。