JMeter 测试笔记(二):组件及运行原理

44 篇文章 5 订阅
38 篇文章 3 订阅

说组件之前,我们先来看一下JMeter的结构图,如下图,把JMeter拆解为三个维度,X空间5个维度,Y空间2个维度,Z空间1个维度。

介绍

X1~X5是负载模拟的整个过程,Y1是负载模拟部分,这部分主要负责模拟用户请求;Y2是断言,主要负责判断结果的正确性;Z主要负责收集结果的收集,进行结果的处理。

JMeter的基本原理是建立一个线程池,多线程运行取样器产生大量负载,在运行的过程中,通过断言来验证结果的正确性,通过监听器来收集测试结果。

组件介绍

笔者用的JMeter是5.4.1版本,X1 取样器(Sampler)有23个,基本涵盖了常见的各种协议。同时,JMeter本身还支持BeanShell脚本,可以进行扩展。取样器路径如下图:【Thread Droup】—【Add】—【Sampler】。

断言

X1断言(Assertions)有15个元件,涉及的断言类型也很多,比如JSON断言、响应断言、XML断言等。当然了,也可以通过BeanShell来写脚本完成校验。断言路径如下图:【Thread Droup】—【Add】—【Assertions】。

监听器

X1监听器(Listener)有19个元件。监听器主要负责测试结果的收集。主要有两个功能:一是收集测试结果,展示在页面;二是收集测试结果,保存为文件。监听器路径如下图:【Thread Droup】—【Add】—【Listener】。

前置处理器

X2前置处理器(Pre Processors)共有元件8个。前置处理器主要是在请求前,进行一些环境或者参数的准备工作。比如:如果在测试需要建立一个数据库链接,前置处理器就可以完成这个功能。前置处理器的访问路径:

【Thread Droup】—【Add】—【Pre Processors】。

配置元件

X2配置元件(Config Element)共有20个。它的作用有两个:一是获取或者记录测试数据,比如CSV Data Set Config,就可以从文件中获取测试数据;二是提供测试函数,生成动态数据。简而言之,配置元件就是为测试提供预备数据。配置元件路径:

【Thread Droup】—【Add】—【Config Element】。

后置处理器

X2后置处理器(Post Processors)共有12个元件。主要负责响应数据的处理。访问路径:【Thread Droup】—【Add】—【Post Processors】。

总之,X2的这些元件,都是为取样器提供支持的。

控制器

X3控制器(Logic Controller)共有元件19个。如果我们要对一个结果进行判断是不是与其他值相等,这时候就可以用If控制器。当然,控制器还有其他种类,需要根据业务逻辑进行选择。访问路径如下:

【Thread Droup】—【Add】—【Logic Controller】。

定时器

X4定时器(Timer)共有9种。主要是为了请求在同一时间发送,发送多久。定时器的种类也很多,可以根据自己的需求进行选择。访问路径:

【Thread Droup】—【Add】—【Timer】。

线程组

X5线程组(Theads)。测试需要模拟用户,线程组就是做这个工作的,在此元件内,可以设置运行的线程数,运行时长以及定时运行等。访问路径:

【Thread Droup】—【Add】—【Theads】。

测试片段

测试片段(Test Fragment),它是一个辅助组件,在它的下面可以放所有元件,但是单独的测试片段是不执行的,需要被模块控制器来调用。访问路径:

【Thread Droup】—【Add】—【Test Fragment】。

以上就是JMeter的结构以及组成,从以上介绍中也不难发现,JMeter是以线程的方式来运行的。这样做,是由于JMeter是运行在JVM虚拟机上的,如果以进程方式来执行,每台负载机的进程数量就不会出现很多,在很多测试中,我们并发是要很多负载机的。显然,这样做不经济,再者,Java也是支持多线程的,所以JMeter选择了一线程的方式来运行。

今天的分享到这就结束了,下次我们将会挑几个重要的组件,聊一下JMeter中组件的用法。


最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值