ForEach Controller(循环控制器)
组件使用说明
选项说明:
①需要循环遍历名称(name);
②循环变量的下标起点(name_0);
③循环变量的下标终点(name_4);
④引用变量名称定义;
⑤在变量后加_(name_);
实现逻辑说明:
①就是分别循环取name_0到name_4变量对应的值;
②然后通过引用变量test实现值的传递;
示例:
1、线程组设置
2、用户变量定义
Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628
3、ForEach Controller配置
说明:
①下标的起始值是从0开始的
②下标的终止值是(n-1)
4、Java调试
5、执行结果分析
说明:
①通过结果可以知道,同一个请求,执行了4次,分别使用不同的值。
Runtime Controller(控制器)
组件使用说明
说明:
①用于控制runtime controller控制器下的组件的执行时长;
②Runtime(seconds)单位为秒;
③Runtime(seconds)值为0时,下面的组件不执行;
示例
1、线程及用户变量配置
2、Runtime Controller配置
说明:
①配置为6秒;
3、Java调试
4、执行结果分析
说明:
①执行耗时为6秒;
②在6秒的时间内,其下的组件执行多次。
Switch Controller(控制器)
Switch Controller 条件控制器,和高级语言Java中的Switch逻辑控制语句使用原理相同,当我们业务流程有多个分支时,我们只执行满足场景的请求及组合,用接口自动化应该怎么来实现呢?
要实现以上的需求,可以使用Switch Controller控制器,下面介绍具体的使用方法
说明:
①Swith value:其控制下元件的匹配值;
示例:
1、用户变量
2、Swith Controller配置
说明:
①执行指标为3的请求;
②Switch Controller 下的请求编号是从0开始的计算的,不是从1开始的,这点需特别注意;
说明:
①预期是执行test-4,结果是40。查看执行结果是否匹配。
3、执行结果分析
说明:
①实际结果与预期结果一致。
While Controller(控制器)
组件使用说明
①While Controller会一直运行,直到条件(Condition)为false;
②Condition的可能值如下:
- 为空(不输入任何值) -- 直到某次sample执行失败才会退出循环;
- LAST -- 直到最后一个sample请求失败,才会退出循环;
- 其它 -- 条件值等同于字符串"false"(等同于输入框中输入false)时,退出循环;
示例:
1、用户变量定义
2、While Controller配置
说明:
① Condition为空,直到其组件下的请求有失败的,则退出。
3、java调试
4、执行结果分析
说明:
没有失败的请求时,其下的组件会一直执行。
Interleave Controller(控制器)
Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628
组件使用说明
说明:
① 忽略子控制模块:如果勾选,则将子控制器作为一个请求,只执行一次(如下面有 上面提到的While Controller,里面只会执行一次下面样例)。如果不勾选,则子控制器中样例都执行。
② 用途:该组件的请求交换执行。
示例:
1、线程组配置
说明:
①一个线程执行3次。
2、 用户自定义变量
3、Interleave Controller配置
4、执行结果分析
说明:
从结果可以看到,交换控制器的请求执行了3次,每次执行的请求都不同。
在新版JMeter中该控制器,还有个选项:
Interleave across threads 跨线程交替。选中此项,则交替控制器下的请求将应用至所有线程和循环中迭代。
示例
1、当勾选上此项,线程组配置
说明:线程数配置为3。
2、执行结果分析
说明:从结果中看到,线程间也进行了交替;与前面单线程执行3次的结果一致。
Once Only Controller(控制器)
原理:此控制器下的组件只会运行一次,如把登陆放到该组件下。
示例:
1、线程组配置
说明:
①一个线程,循环3次;
2、用户变量定义
3、once only controller
4、执行结果分析
说明:
①可以看到仅一次控制器下的组件,执行了一次,和预期相符。
If Controller(控制器)
原理:通过条件来判断该组件的请求是否执行:满足条件就执行,即返回True;不满足条件就不执行。
说明:
①输入判断条件,可以填写变量;
②interpret conditon as Variable Expression?:勾选此项时,使用表达式判断。如:
示例:
1、线程配置
2、用户变量定义
3、if controller配置
说明:
①表达式做为判断条件;
说明:
①变量做为判断条件;
4、执行结果分析
说明:
判断条件为True,该组件下的请求被执行。
待大家的实践
随机控制器:随机控制器下的请求是随机的,即请求随机执行,所有请求不一定都会执行。
随机顺序控制器:控制下的所有请求都执行,只是顺序是随机的。
总结:
感谢每一个认真阅读我文章的人!!!
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。
Python自动化测试学习交流群:全套自动化测试面试简历学习资料获取点击链接加入群聊【python自动化测试交流】:http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DhOSZDNS-qzT5QKbFQMsfJ7DsrFfKpOF&authKey=eBt%2BF%2FBK81lVLcsLKaFqnvDAVA8IdNsGC7J0YV73w8V%2FJpdbby66r7vJ1rsPIifg&noverify=0&group_code=198408628