jmeter控制器(三)

While Controllert当控制器:

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

 

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

 

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

 

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

 

扫描二维码关注公众号,回复: 6687468 查看本文章

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

 

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条件控制器:主要做脚本执行顺序所用

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

猜你喜欢

转载自www.cnblogs.com/hopchee/p/11110595.html