常用的Logic Controllers组件简介

Simple Controller组件

Simple Controller的组件截图如下,乍一看,感觉没有什么值得注意的参数。确实是的,JMeter发布这个组件的目的,其实不是出于功能的目的,而是出于对脚本组织管理的目的。利用此组件去管理取样器或者其他的逻辑控制组件,会使得脚本看起来更有组织条理性,更直观。
在这里插入图片描述
下面就以一个案例来说明Simple Controller组件在测试脚本方面起到的作用。

  • 首先来看该控制组件在创建脚本时的用法,如下图所示,总共有3个Simple
    Controller,名称如下,这类似于将测试场景分为3个步骤,而每个步骤里又包含了数量不等的取样器(Http
    Request),通过截图可以发现脚本结构比较清晰,也更便于后期脚本的维护。

  • login

  • view home page

  • logout
    在这里插入图片描述

Loop Controller组件

Loop Controller组件是一个循环控制组件,该组件和Thread Group里的Loop设定是不冲突的,应该说他们是协同配合的关系。该组件控制界面如下,可以看到该组件此时设定的循环次数为3. 该组件的使用场景一般为,如果你想单独设定一些请求循环执行多次时。
在这里插入图片描述
以一个脚本案例来说明Loop Controller的用法,其中设置Thread Group的loop数为2,Loop Controller设置为3,那么其中"HTTP Request 2"执行次数为2*3 = 6次,而"HTTP Request 1"的执行次数为2,通过如此,我相信读者对次组件应该有个清晰的认识了。
在这里插入图片描述

Once Only Controller组件

该组件是针对per thread(即每个虚拟用户),简单来说就是处于该控制组件下的取样器在每个虚拟用户面前只会执行1次,即使比如Loop controller或者线程组内的设定为多个Loop. 此控制组件界面如下:
在这里插入图片描述
以一个脚本案例来说明Once only controller组件的用法,脚本结构如下,如设置Thread Group的用户数为2,loop为3,那么在“Once only controller”下的取样器(HTTP Request 3)执行次数为2,即等于Thread Group里虚拟用户数一致,也可以理解为每个虚拟用户或者线程只执行1次。
在这里插入图片描述

Random Order Controller

该组件有点类似Simple Controller,在此组件下的取样器会都被执行最多1次,但是其先后顺序是随机的。其界面如下:
在这里插入图片描述
在该组件每次被执行的时候,其内含的请求顺序都被随机执行,如下图的脚本结构,其执行顺序可能是

  1. HTTP Request 3
  2. HTTP Request 1
  3. HTTP Request 2
    在这里插入图片描述

Runtime Controller组件

Runtime Controller组件控制其下的子请求们可以执行的最长时间,如果超过这个时间该组件下的请求的执行将会结束。其界面如下,其目的是为了控制其下的子请求的执行时间不要超过设定的值,比如说请求1执行在运行中响应时间超过了10秒,那么该组件下的取样器执行会结束。
在这里插入图片描述
综上所述,这些组件在编写JMeter测试脚本是比较重要的,特别是当测试需求有这方面的要求时,它是为了让用户更轻松简单地达到模拟测试场景的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试论道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值