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

news2024/11/17 13:49:42
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 目录。

 

总结:

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

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

软件测试面试文档

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

 

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

吴恩达机器学习笔记十六 如何debug一个学习算法 模型评估 模型选择和训练 交叉验证测试集

如果算法预测出的结果不太好,可以考虑以下几个方面: 获得更多的训练样本 采用更少的特征 尝试获取更多的特征 增加多项式特征 增大或减小 λ 模型评估(evaluate model) 例如房价预测,用五个数据训练出的模型能很好的拟合这几个数据&am…

虚拟机(KVM)克隆

当需要批量部署虚拟机时,可以使用克隆虚拟机的方式来进行。 使用图形界面来克隆虚拟机。 [rootzhoujunru_node1 zhou]# virsh list --allId Name State ------------------------------ vm01 shut off- vm01-clone shut off克隆完成。

【axios】你的进度条准确吗

1、axios监听进度 上传和下载操作在前端中是非常常见的,当我们想知道上传或下载的进度时也不难,axios已经实现了监听进度的方法 import axios from axios// 上传请求 axios.post(/api/v1/upload, {data: xxx},{// onUploadProgress回调可以获取进度onU…

网络基础aaa

三次握手 四次挥手 网络模型 TCP or UDP 的特点 如何理解 TCP 的5层协议 TCP的5层协议是指计算机网络体系结构中,与TCP(传输控制协议)相关的五个层次。这五个层次从高到低依次是:应用层、传输层、网络层、数据链路层和物理层。每…

多线程多进程

秋招面试的java八股文知识点补充以及iot 这里有一点阅读补充 线程和进程区别 什么是进程? 进程 (Process) 是计算机中的一个独立执行单元,是操作系统资源分配的基本单位。每个进程有各自独立的内存空间和资源,它们之间相互独立,相互之间…

【保姆级】Protobuf详解及入门指南

目录 Protobuf概述 什么是Protobuf 为什么要使用Protobuf Protobuf实战 环境配置 创建文件 解析/封装数据 附录 AQin.proto 完整代码 Protobuf概述 什么是Protobuf Protobuf(Protocol Buffers)协议😉 Protobuf 是一种由 Google 开…

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

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

【RabbitMQ】RabbitMQ的交换机

交换机类型 在上文中,都没有交换机,生产者直接发送消息到队列。而一旦引入交换机,消息发送的模式会有很大变化:可以看到,在订阅模型中,多了一个exchange角色,而且过程略有变化: Pub…

ThreadLocal出现内存泄露原因分析

ThreadLocal 导致内存泄漏的主要原因是它的工作方式。在 Java 中,ThreadLocal 通过维护一个以 Thread 为键,以用户设置的值为值的映射来工作。每个线程都拥有其自身的线程局部变量副本,不同线程间的这些变量互不干扰。这个映射是存储在每个 T…

EpiCypher—SMARCAL1介导的肿瘤免疫逃避

资深作者Alberto Ciccia博士(左)和第一作者Giuseppe Leuzzi博士。 在新的博客系列中,我们将对话最近发表染色质研究工作的首席科学家们,了解他们的幕后工作。在EpiCypher,我们很感兴趣染色质技术是如何整合到不同领域的,如免疫学、…

【Ubuntu】gonme桌面的 gdm 和 lightdm 区别

总结:都可以 gdm: 【Gnome Display Manager】 完整,体积大 lightdm: 【Light Display Manager】 轻量

HBase非关系型数据库

HBase非关系型数据库 1 什么是HBase2 HBase的特点3 什么时候需要HBase4 HBase的数据模型5 HBase架构5.1 架构5.2 HBase如何列式储存 6 如何正确设计RowKey 1 什么是HBase HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、 实时读写的分布式数据…

趣味看图-Linux 文件系统的组成

/(根目录):根目录是Linux文件系统中的顶级目录。所有其他目录都是根目录的子目录,使其成为整个文件系统的父目录。 /bin:包含启动系统和执行基本操作所需的基本二进制可执行文件。这些对所有用户都可用。 /boot&…

手撕栈和队列

接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 引言 栈和队列作为数据结构的重要组成部分,可以用栈实现非递归等,为后面学习打基础。栈由数组来实现,队列由链表来实现,接下来将详细介绍 …

C++实现引用计数(二)

实现引用计数 引言实现集成开发环境项目结构实现代码运行结果 注意 引言 C中经常使用智能指针来管理内存。对于共享指针shared_ptr的原理:每当有一个指针指向这块内存,引用计数的值加一,每当一个指针不再指向这块内存,引用计数的…

【OpenGL手册14】投光物

目录 一、说明二、平行光三、点光源四、衰减五、选择正确的值六、实现衰减七、聚光八、手电筒九、平滑/软化边缘练习 一、说明 我们目前使用的光照都来自于空间中的一个点。它能给我们不错的效果,但现实世界中,我们有很多种类的光照,每种的表…

员工私单亡羊补牢!这个监管神器让你从此放心!

对于企业而言,如何有效监管员工的微信使用成为了一项重要的任务。幸运的是,现在有一个监管神器——微信管理系统,可以帮助企业从根本上解决这个问题。 接下来,让我们一起来看看这个监管神器究竟有哪些神奇的功能吧! …

5款好用的AI办公软件,一键轻松制作PPT、视频,提升工作效率!

众所周知,AI 人工智能技术已渗透到生活的方方面面,无论是很多人早已用上的智能音箱、语音助手,还是新近诞生的各种 AI 软件工具,背后都离不开 AI 人工智能技术的加持。 对于各类新生的 AI 软件工具,人们很容易「选边站…

亚马逊多账号怎么防关联?超级浏览器来帮你!

很多做亚马逊跨境电商的小伙伴都会遇到的问题就是多登店铺账号被关联,我们要知道,如果在亚马逊上运营多个店铺,保持账户之间的独立性是很重要的。一旦账户之间被平台识别为关联,不仅可能导致收入损失,还可能面临账号被…

短视频,文案素材哪里找?找短视频文案素材指南

有很多创业者,耗费了很长时间创作出了很多短视频,文案素材没写好,导致浏览量下降,或者写文案的同时就已经花费了很长时间,导致没有时间发布视频,从而影响了流量,导致流量下滑,其实我…