美文网首页
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