JMeter 简介及安装详细教程(全网独家)

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 的安装
  1. 进入官网,选择 Download Release,如下图:

根据操作系统,选择要下载的压缩包:

注意事项:

  1. 注意图片标题中的 Java 版本要求,这里要求的是 Java8 及以上的版本。
  2. 我们一般选择 Binaries 下的压缩包,除非是你想要使用它的源码做研究,则可以选择 Source 下的资源包。

解压下载下来的压缩包,得到如下的文件结构:

  1. 打开 bin 目录,通过双击 ApacheJMeter.jar 即可启动JMeter:

    1. 也可以通过可执行文件进行启动,不同系统上的可执行文件在上图中有标出。

    2. JMeter 的运行需要 Java 环境的支持,需要提前安装 JDK 。

JMeter 根目录结构说明
  1. backup 目录

    脚本备份目录,里边的文件都是以 .jmx 后缀结尾的文件。

    实际开始安装解压后是不存在这个目录的,在使用过 JMeter 后,JMeter 自动创建这个目录,然后备份了脚本文件。

  2. 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 插件包

  1. 解压插件,找到 JMeterPlugins-Extras.jar,把 JMeterPlugins-Extras.jar 放到 apache-JMeter-5.4.1\lib\ext 目录。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群即可自行领取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/449099.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Git版本工具学习

目录 版本控制git配置工作区域文件状态git对象模型基础命令.gitignore忽略文件IDEA集成Git 版本控制 本地版本控制:在本地记录每一次版本更新。 集中版本控制:版本数据都保存在单一服务器,不联网就看不到版本信息。SVN 分布式版本控制&…

flink的分组聚合、over聚合、窗口聚合对比

【背景】 flink有几种聚合,使用上是有一些不同,需要加以区分: 分组聚合:group agg over聚合:over agg 窗口聚合:window agg 省流版: 触发计算时机 结果流类型 状态大小 分组聚合group ag…

MongoDB的count() 统计文档数量非常慢

在MongoDB中,count()函数用于统计文档的数量。但是count()函数通常不会使用索引来计算文档数量,而是扫描集合中的文档来计数。当数据量较大的时候,就不适合使用了。 解决方案: 1、使用聚合框架(aggregation framewor…

EasyNVR级联EasyCVR,在EasyCVR播放视频会导致EasyNVR崩溃的原因排查与解决

视频综合管理平台EasyCVR视频监控系统支持多协议接入、兼容多类型设备,平台可以将监控区域内所有部署的监控设备进行统一接入与集中汇聚管理,实现对监控区域的实时视频监控、录像与存储、设备管理、云台控制、语音对讲、级联共享等,在监控中心…

从零搭建NodeJS项目(小白教程)

这边文章将介绍如何从零开始创建一个基于Express框架的Node.js项目。Express是一个快速、无拘束且极简的Node.js web应用框架,它提供了一系列强大的功能,使得web开发变得更加高效。 目录 1. 环境准备 2. 安装Express脚手架 3. 创建项目 4. 初始化项…

Clearview X for mac v3.5.0 电子书阅读器 兼容 M1/M2/M3

应用介绍 Clearview X 是 macOS 上的一款简洁易用且美观大方的电子书阅读器。直观好用的图书管理功能,支持 PDF, Epub, MOBI, CHM, FB2, CBR, CBZ 等流行的电子书格式,可以方便地添加注解,插入书签,及迅速的搜索查找。支持在不同…

git init 执行后发生了什么?

首先在磁盘中创建一个新目录 Git,进入该目录后执行 git init 初始化。这个时候目录下会创建一个隐藏目录 ./git,这个./git 目录叫做 Git 版本库或者仓库 $ git init Initialized empty Git repository in D:/Git/.git/ 在讲解.git 目录内容前&#xff0…

【C++】关联式容器

目录 前言: 一,set容器 二,multiset容器 三,map容器 四,multimap容器 前言: 在C中,STL中的部分容器,比如:vector、list、deque、 forward_list(C11)等,这…

第五届国际信息技术与教育技术大会(ITET 2024)即将召开!

2024年第五届国际信息技术与教育技术大会(ITET 2024)将于5月10-12日在日本鸟取举行。本届会议由日本鸟取大学主办,冈山大学、湘南工业大学、名古屋工业大学、山口大学等提供技术支持。ITET 2024旨在探讨计算机领域的创新发展在教育环境中所带…

javase day03笔记

第三天课堂笔记 idea的使用★★★ 创建空工程创建模块创建包:package创建类idea的设置 file -> settings 快捷键 shift + 回车 : 光标切换到下一行psvm回车: main方法main回车:main方法sout回车:输…

快速入门:JS对象/BOM/DOM/事件监听

本贴介绍JS相对进阶的知识,对于JavaScript的基础语法,本文不再赘述~ 一.JavaScript对象 1.Array数组对象 定义 var arr new Array(1,2,3); var arr[1,2,3]; 访问 arr[0]1; Js数组类似Java中的集合,长度,类型都可以改变。 如…

Web端功能测试方法最有作用的5个点

对于web测试,较之其他软件测试又有所不同,这是细节的不同,这个不同需要我们在不停的测试中去总结的。 web测试正式测试之前,应先确定如何开展测试,不可盲目的测试,讲究方法才能行之有效的提高我们的效…

Linux——文件缓冲区与模拟实现stdio.h

前言 我们学习了系统层面上的文件操作,也明白了重定向的基本原理,在重定向中,我们使用fflush(stdout)刷新了缓冲区,当时我们仅仅知道重定向需要刷新缓冲区,但是不知道其所以然,今天我们来见识一下。 一、…

框架学了不会用?四小时做完一个完整的前后端分离demo(SpringBoot+Vue)

四小时做完一个完整的前后端分离demo(SpringBootVue) 分享一个看到的还不错的小项目,非常适合刚学完框架但是没有太多动手机会的的学生党用来练手。 优势 手把手写代码,有教学视频免费,有源代码项目周期短 视频教程…

Nvidia显卡@参数规格@驱动下载@cuda版本查看

文章目录 Nvidia显卡产品类型GeForce系列 命名规则前缀和后缀技术特点性能指标/👺显存(VRAM)显存和位宽位宽和现存容量的设计 其他 显卡信息查看Nvidia官网查看其他数据库核心规格GeForce系列产品参数在线查看👺大汇显卡规格总比较其他显卡规格比较 性能…

Facebook、亚马逊账号如何养号?

之前我们讨论过很多关于代理器的问题。它们的工作原理是什么?在不同的软件中要使用那些代理服务器?这些代理服务器之间的区别是什么?什么是反检测浏览器等等。 除了这些问题,相信很多人也会关心在使用不同平台的时代理器的选择问题。比如,为什么最好…

目标检测——布匹缺陷检测数据集

一、简要 布匹瑕疵是指在布料生产过程中或后续处理中出现的各种不符合质量标准或期望的缺陷。这些瑕疵可能源自原料、织造工艺、染色、印花、加工等多个环节。布匹瑕疵的类型繁多,涵盖了结构瑕疵和质量瑕疵两大类。结构瑕疵指的是布料本身的缺陷,包括嵌…

Skia最新版CMake编译

运行示例:example/HelloWorld.cpp Skia: 2024年03月08日 master分支: 993a88a663c817fce23d47394b574e19d9991f2f 使用CMake编译 python tools/git-sync-depsbin/gn gen out/config --idejson --json-ide-script../../gn/gn_to_cmake.py此时output目录会生成CM…

指数幂+力扣

题目 题目链接 . - 力扣(LeetCode) 题目描述 代码实现 class Solution { public:double myPow(double x, int n) {long t n;return t > 0 ? _myPow(x, t) : 1 / _myPow(x, -t);}double _myPow(double x, int n){if(n 0) return 1;double y _…

【解决】Sublime Text找不到Package Control选项,且输入install也不显示Install Package(其中一种情况)

【问题描述】 Sublime Text 找不到 Package Control 选项,且输入 install 也不显示 Install Package 【解决方法】(其中一种情况) 1、工具栏 Preferences -> Settings,点开查看设置文档 2、检查 "ignored_packages&q…