美文网首页
Jmeter常用逻辑控制器的使用

Jmeter常用逻辑控制器的使用

作者: 静静地就好 | 来源:发表于2020-01-24 00:41 被阅读0次

1、如果(if)控制器:如果控制器下面的表达式最终取值必须是true或者false。假设我们想控制请求百度的HTTP请求是否执行,用如果控制器来实现如下:

1.1、创建线程组如下:

图1 线程组

1.2、其中,用户定义的变量test设置为true,如下:

图2 用户定义的变量

1.3、如果控制器引用用户定义的变量test,其设置如下:

图3 如果控制器

1.4、运行后察看结果树,可以看到成功访问了HTTP请求:

图4 察看结果树

1.5、如果想控制HTTP请求不被访问,那么我们只要把test的值设置为false就好:

图5 test设置成false

1.6、运行后察看结果树,发现HTTP请求并没有被访问:

图6 无请求

2、循环控制器:控制循环执行的次数,如果线程组也有循环次数,则JMeter是执行两层循环。比如,我们在线程组里面设置:线程数为1,循环次数为2,然后在循环控制器里面循环次数输入2,那么总执行次数为4:

2.1、创建线程组如下:

图7 线程组

2.2、循环控制器设置如下:

图8 循环控制器

2.3、运行线程组察看结果树如下:

图9 察看结果树

3、while控制器:其节点下的元件将一直运行直到while的条件为false,可以输入表达式或者变量。

3.1、线程组设置如下:

图10 线程组

3.2、添加while控制器如下:

图11 while控制器

3.3、执行线程组可以看到HTTP请求一直在请求中,除非你手动stop:

图12 察看结果树

4、ForEach控制器:循环遍历一组相关变量的值。 将取样器添加到ForEach控制器时,每个样本都会执行一次或多次,其中在每个循环期间变量都有一个新值。 输入应包含多个变量,每个变量都用下划线和数字扩展。 每个这样的变量都必须有一个值。假设我们想在百度检索java、python、php、c++,则你可以这么设置:

4.1、新建线程组如下:

图13 线程组

4.2、用户定义的变量如下:

图14 用户定义的变量

4.3、ForEach控制器的设置如下,索引坐标0,1,2,3,则开始循环字段就为-1,结束循环字段就为3:

图15 ForEach控制器

4.4、运行线程组察看结果树如下,我们可以看到检索了java、python、php和c++,共4个请求:

图16 察看结果树

5、交替控制器:其节点下的取样器会交替执行。

5.1、新建线程组如下:

图17 线程组

5.2、交替控制器控制HTTP请求1和HTTP请求2,则执行线程的时候,HTTP请求1和HTTP请求2就会交替执行:

图18 察看结果树

6、仅一次控制器:此控制器下的子元件只运行一次,即使把仅一次控制器放在循环控制器下面 ,也只运行一次。我们在模拟请求时,有时只需要登录一次,就可以把登录的部分放在仅一次控制器下面。

7、随机控制器:其节点下的元件会随机运行,与交替控制器不一样的是,其节点下的元件运行顺序随机。

7.1、新建线程组如下:

图19 线程组

7.2、随机控制器控制HTTP请求1和HTTP请求2,则执行线程的时候,HTTP请求1和HTTP请求2就会随机执行:

图20 察看结果树

8、随机顺序控制器:子节点都会执行,但是其节点的执行顺序是随机的。

8.1、新建线程组如下:

图21 线程组

8.2、随机顺序控制器控制HTTP请求1和HTTP请求2,则执行线程的时候,HTTP请求1和HTTP请求2就会随机顺序执行:

图22 察看结果树

9、Runtime控制器:用来控制其子元件的执行时长 。

9.1、新建线程组如下:

图23 线程组

9.2、Runtime控制器控制HTTP请求1,我设置了3秒,则HTTP请求1就会执行3秒后,再执行HTTP请求3:

图24 察看结果树

10、吞吐量控制器:用来控制其下子元件的执行次数,并无控制吞吐量的功能。可以设置Total Executions和Percent Executions。Total Executions,按吞吐量的值来指定执行次数,此时Per User 与Total Executions一起影响执行次数(一般来说选择Total Executions就不要勾选Per User);Percent Executions,按执行次数的百分比来计算执行次数,此时吞吐量的取值是0~100,Per User是否勾选对Percent Executions没有影响。

图25 吞吐量控制器

10.1、新建线程组如下,理论上要执行20次:

图26 线程组

10.2、吞吐量控制器控制HTTP请求1,设置吞吐量为3:

图27 吞吐量控制器设置

10.3、运行线程组察看结果树如下,看到只执行了3次:

图28 察看结果树

11、Switch控制器:条件控制器,根据switch value执行元件,从0开始计算。

11.1、新建线程组如下:

图29 线程组

11.2、Switch控制器控制HTTP请求1、HTTP请求2和HTTP请求3,switch value设置为1,那么就是执行HTTP请求2:

图30 Switch控制器

11.3、运行线程组察看结果树如下:

图31 察看结果树

参考链接:https://www.cnblogs.com/suim1218/p/9257272.html

相关文章

网友评论

      本文标题:Jmeter常用逻辑控制器的使用

      本文链接:https://www.haomeiwen.com/subject/yfpyzctx.html