zoukankan      html  css  js  c++  java
  • jmeter控制器(三)

    While Controllert当控制器:

    当满足条件的情况下,就会执行控制器里面的脚本,首先我们设置线程组循环次数为10,如下图:

     

    其次在配置元件中添加一个计数器,并设置从0到最大的10,每次递增加1,设置递增数引用名称为num,具体如下图:

     

    设置while控制器条件为:${__javaScript(${num} == 8)},也就是当num等于8时做一次控制器下边的操作,如下图:

     

    在当控制器下边从sampler下添加一个http请求,并在该请求的body Data里面填入一个${num},再添加一个察看结果数便于运行后查看运行情况(为了HPPT请求不一直循环下去,我们在它上级添加一个仅一次控制器,仅一次控制器中什么都不需要添加),具体如下图:

     

    运行后查看结果树如下图:

     

    While的另一个用法:

    LAST – 只要有一个请求失败了就会退出循环,不管你后边有多少都不执行了,如下图设置和运行结果:

     

    虽然线程组设置的循环次数为10,运行出现一次请求错误后就不再执行:

     

    例:${num} ==10 判断变量num的值是否为10,不为10则退出循环

    ${__javaScript(${count}<A&& ${code}=="B")}

    表示同时满足 ${count}<A 和${code}=="B" 两个条件才进入循环体

    Runtime控制器:

    Runtime控制器是控制时间的,如线程组设置循环次数为2,runtime控制器设置时间为10,运行时间就会达到2*10等于20秒,如果线程组设置循环次数为1,runtime控制器设置时间为5,运行时间就会达到1*5等于5秒,如下图:

     

    Runtime控制器既然是控制运行时间的,查看结果数可知道会运行多次,直到达到运行时间以后才停止,如下图:

     

    如果(if)控制器:

    If控制器是做接口分支判断的,我们来设置线程组循环10次,计数器从0每次递增1,一直递增到10,当计数器等于2时执行省份与人口,如下图:

     

    设置计数器如下图:

     

    设置if控制器为当引用的计数器num参数为2时执行下属内容,如下图:

     

    并在省份与人口中设置body data为去计数器变量,如下图:

     

    查看结果树可知执行线程组的10次循环时,计数器也随之从0递增到10,当debug sampler正好运行了2次,正好计数器参数等于2,就执行了一次省份与人口,如下图:

     

    如果将if控制器里面的${num}==’2’改成${num}!=’2’,控制器下属的省份与人口会执行9次,也就是说当num不等于2时的条件满足,就不执行,其它情况下会执行。

    还有如下的控制器自行琢磨:

    Include Controller包含控制器:

    Switch Controllert条件控制器:主要做脚本执行顺序所用

    录制服务器:是在工作台下的代理服务器里面使用的

  • 相关阅读:
    如何调试webservice接口是否正常
    备份数据库表
    【web】sqli-labs学习
    【web】php文件包含(利用phpinfo)
    【二进制】【WP】MOCTF逆向题解
    【web】BUUCTF-web刷题记录
    【WP】【web】中学生CTF | web部分wp
    【密码学】AES简单学习
    【密码学】CBC反转字节攻击
    【WP】攻防世界-杂项-Misc
  • 原文地址:https://www.cnblogs.com/hopchee/p/11110595.html
Copyright © 2011-2022 走看看