JMeter 简介
全名为 Apache JMeter
JMeter 是一个软件,使负载测试或业绩为导向的业务(功能)测试不同的协议或技术。 它是 Apache 软件基金会的Stefano Mazzocchi JMeter 最初开发的。 它主要对 Apache JServ(现在称为如 Apache Tomcat 项目)的性能进行测试。 Apache 后来重新设计 JMeter 增强的图形用户界面和添加功能测试能力。
JMeter 的作用
Apache JMeter 是100%纯 JAVA 桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如 web 应用程序)。 JMeter 可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和 FTP 服务器等等。 JMeter 可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
同时,JMeter 可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和 assertions 来验证你的程序返回了所期待的值。 为了更高的适应性,JMeter 允许调用二次开发的 jar 包来丰富你的测试场景;JMeter 允许你使用正则表达式来创建这些 assertions.
JMeter 的使用范围
JMeter 是一个具有图形界面,使用 Swing 图形 API 的 Java 桌面应用程序,因此可以运行在任何环境/工作站接受一个 Java 虚拟机,例如:在 Windows,Linux,MAC等。
JMeter 支持的协议
- web —— HTTP,HTTPS 站点的 Web1.0的Web 2.0 (ajax, flex and flex-ws-amf)
- Web Services: —— 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 的安装
-
进入官网,选择 Download Release,如下图:
根据操作系统,选择要下载的压缩包:
注意事项:
- 注意图片标题中的 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% 的配置项都是通过这个文件实现。(PS:修改配置文件后,要重启 Jmeter 才能生效)。
Jmeter.bat 打开 Jmeter 主界面。
Jmeter 使用的日志文件名称被定义到 Jmeter.properties 中,默认在 Jmeter.log 可查看日志。
dosc 目录
docs 目录下的文件是 JMeter 的 Java Docs。
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 结尾
Licenses JMeter 软件许可文件目录
printable_docs 目录
该目录存放的是 JMeter 官方提供的帮助文档。
printable_docs 的 demos 子目录下有一些常用的 JMeter 脚本案例,可以作为参考。
LICENSE JMeter ——许可说明
NOTICE JMeter ——简单信息说明
README.md ——JMeter 官方基本介绍
bin 目录说明
window 下
JMeter.bat
启动 JMeter (默认 GUI 模式)
jmeterw.cmd
启动 JMeter 没有 windows shell 控制台 (默认 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 目录。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。