Jmeter前言

这篇具有很好参考价值的文章主要介绍了Jmeter前言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言


为什么要撰写这样一个教程呢?


  • 深入学习Jmeter

    温故而知新。尽管我已经使用JMeter很长时间,但还有许多元件我并不十分了解,因此,编写教程的过程成为了我的学习过程,通过反复回顾和整理知识,我能够更全面地掌握JMeter。

  • 分享知识

    我深信知识具有强大力量,而这种力量应该共享,我愿意将我的所学分享给志同道合的朋友——也就是你们。它不仅能够为他人提供帮助,EtherealBoyJiang还能够在这个过程中体验到一种内在的满足感。

  • 结识朋友

    这是我的第一个教程,后续也会编辑更多的教程。希望能通过这一行为与各位取得交流,成为朋友,与大家一起讨论更多的事情。


关于Jmeter


JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。

JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。


我们为什么使用Jmeter


  • 开源免费,基于Java编写,可集成到其他系统可拓展各个功能插件

  • 支持接口测试,压力测试等多种功能,支持录制回放,入门简单

  • 相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试

  • 多平台支持,可在Linux,Windows,Mac上运行selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。


主要组件介绍


  • 测试计划(Test Plan)

    是使用JMeter进行测试的起点,它是其它JMeter测试元件的容器。

  • 线程组(Thread Group)

    代表一定数量的并发用户,它可以用来模拟并发用户发送请求。

  • 取样器(sampler)

    定义实际的请求内容,被线程组包含,我们主要用HTTP请求。

  • 监听器(Listener)

    负责收集测试结果,同时也被告知了结果显示的方式。我们常用的包括:聚合报告、察看结果树、用表格查看结果,都支持将结果数据写入文件。其他的添加上去看看就行。

  • 逻辑控制器(Logic Controller)

    可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。

    其分为循环控制器和事务控制器。

  • 断言(Assertions)

    可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。

  • 配置元件(Config Element)

    维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。我们主要在参数化中用到CSV Data Set Config。

  • 前置处理器(Pre Processors)和后置处理器(Post Processors)

    负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。我们主要在动态关联中用到后置处理器的正则表达式提取器。

  • 定时器(Timer)

    负责定义请求之间的延迟间隔。

  • 执行顺序(Execution sequence)

    配置元件、前置处理器、定时器、取样器、后置处理器、断言、监听器


工作流程


JMeter通过模拟一组用户将请求发送到目标服务器。 随后,收集数据以通过各种格式计算目标服务器的统计和显示性能度量。


内容引用


Jmeter测试组件介绍|EMQ
鸟哥教程
本系列教程中部分文本引用于此


示例接口代码


下载示例代码  
本系列文章中所有示例接口皆由python编写,python版本为3.12.1,如要使用示例接口请安装python3.12.1与pycharm。
压缩包内包含源码和使用说明。


说明


对于测试人员来说,JMeter是一款非常强大的接口测试工具,尤其在性能测试方面表现出色。希望读者们通过EtherealBoyJiang编写的系列教程,能够熟练掌握JMeter的使用。

本文基于JDK21、Jmeter-5.6.3测试编写,可能不适用于历史版本及未来版本。如果Jmeter在后续的新版本中有所变化,或者文中有错漏的地方,请联系EtherealBoyJiang,EtherealBoyJiang感激不尽。

对EtherealBoyJiang来说,能够帮助到读者是一件莫大的荣幸,期待更多读者通过本系列教程获得成长。文章来源地址https://www.toymoban.com/news/detail-842307.html


到了这里,关于Jmeter前言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么一个矩阵乘以一个满秩矩阵后秩不变

    A为N阶方阵,r(A) =p ,其中p n. B为N阶方阵,r(B)=n. 证明: r(AB) = p. 定理1:矩阵B可逆,则存在有限个初等矩阵 P 1 , P 2 , P 3 . . . P n P_1,P_2,P_3...P_n P 1 ​ , P 2 ​ , P 3 ​ ... P n ​ ,使得 A = P 1 P 2 . . . . P n A=P_1P_2....P_n A = P 1 ​ P 2 ​ .... P n ​ 定理2:矩阵B满秩,则矩阵B可逆 定理3:进行

    2024年02月10日
    浏览(60)
  • 20 信任链:为什么可以相信一个 HTTPS 网站?

    现实的生活当中,如果想证明一份合同没有被修改过,人们会在合同上盖一个齐缝章,并附上自己的签名。签名和盖章其实是一个含义,目的是证明自己签署过某份协议,而且一经签署,协议就不能再变更。 如果想阻止一份合同被修改,最容易想到的方式是加密 。合同一旦

    2024年02月21日
    浏览(73)
  • 为什么硅谷能够持续创新?—— 寻找下一个黄金 10 年

    目录 数字化依然是黄金赛道 为什么硅谷能够持续创新? 人才和资本

    2024年02月05日
    浏览(88)
  • 为什么访问同一个网址却返回不同的内容

    哈喽大家好,我是咸鱼。今天给大家分享一个关于 HTTP 有趣的现象 链接:https://csvbase.com/meripaterson/stock-exchanges 我们用浏览器访问这个链接,可以看到下面的网页 但如果我们使用 curl 命令去访问这个链接呢? 可以看到返回的是一个 csv 文件 我们用 wget 命令下载下来看看 可以

    2024年02月03日
    浏览(64)
  • 离线数仓中,为什么用两个flume,一个kafka

    实时数仓中,为什么没有零点漂移问题? 因为flink直接取的事件时间 用kafka是为了速度快,并且数据不丢,那为什么既用了kafkachannel,也用了kafka,而不只用kafkachannel呢? 因为需要削峰填谷 离线数仓中,为什么用两个flume,一个kafka,直接用taildirsource,kafkachannel,hdfssink不行吗?

    2024年02月14日
    浏览(48)
  • Python冷知识-为什么切片和区间会忽略最后一个元素

    在 Python 里,像列表(list)、元组(tuple)和字符串(str)这类序列类型都支持切片操作,但是实际上切片操作比人们所想象的要强大很多。 在切片和区间操作里不包含区间范围的最后一个元素是 Python 的风格,这个习惯符合 Python、C 和其他语言里以 0 作为起始下标的传统。

    2024年02月14日
    浏览(53)
  • Buck-Boost为什么输出的是一个负压?

    在非隔离电源方案中,基础拓扑的Buck、Boost、Buck-Boost电路中,前两种已经在前面章节进行了详细描述。很多工程师对Buck和Boost电路都特别熟悉,只是对Buck-Boost不熟悉,这是因为现在电路设计中,以数字电路为主,不论是升压还是降压,一般都是以正压为主。而Buck-Boost虽然这

    2024年02月07日
    浏览(43)
  • 为什么每个C程序都需要一个叫做 main 的函数?

    当加载器运行时,它创建如下图所示的存储器映像。 在可执行文件中段表头的指导下,加载器将可执行文件的相关内容拷贝到代码和数据段。 接下来,加载器跳转到程序的入口点,也就是符号 _start 的地址。在 _start 地址处的 启动代码 (startup code)是在目标文件 ctrl.o 中定义

    2024年02月05日
    浏览(45)
  • 芯片电源引脚为什么要加一个100nF电容

    在设计电路的时候,常常会在芯片的每个电源引脚就近的放一个100nF的贴片电容,这电容有什么作用呢?今天就来和大家分享一下这个电容的作用以及为什么是100nF。 首先这个芯片电源引脚的100nF的电容一般我们称为旁路电容,也有叫去耦电容的,因为这颗电容的作用比较多,

    2024年01月24日
    浏览(69)
  • 一个操作让数组处理速度快了5倍,到底是为什么

      概述: 通过对数组进行排序,代码更好地利用了缓存,从而提高了程序的性能。这种现象通常被称为\\\"缓存友好\\\"(cache-friendly)或\\\"空间局部性\\\"(spatial locality) 今天做一个数组数据计算时,发现一个效率问题,给大家分享一下 一个数组排序和不排序时同样的逻辑处理速度是

    2024年03月24日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包