上节课记录的是随机控制器和随机顺序控制器,这节课来了解ForEach控制器和switch控制器。

1、这个控制器效果如下图:

上图中输出变量名称含义指经过该控制器处理,该控制器内的请求使用处理过的变量的名称。
具体可以怎样使用这个控制器呢?在我看来,使用该控制器需要我们与用户自定义变量搭配。比如某个接口需要自定义一个变量name来用于控制循环。嗯,上面说的好像很无语。
具体想到的一个例子是这样,比如我们在做接口测试时候,接口请求参数中有个字段名字叫countryid。它有四种类型分别为1,2,3,4。那么我们可以将这个字段放在ForEach控制器中,然后在发送请求时候,控制器通过判断该字段的个数来进行发送多少次请求。



如上图,发现虽然线程组中仅设置了1个请求,但是查看结果树中出现了4个,而且每个的请求在countryid取值都不一样。分别为自定义变量中设置的1,2,3,4。
上面仅仅是一个简单的案例,超级最普通的情况。我看网上教程有说可以搭配正则表达式提取器和JDBC请求来去实现。好像这两个我实现不了。如果以后工作中有使用,那我就来记录一下哈。
2、switch控制器:

解释说明:switch Value中填写什么,然后判断该控制器下有没有哪个请求跟其相等从而发送请求。
1.1 switch value中填写接口请求中存在的请求,比如下面填写get请求35,那么查看结果树中也发送的是这个请求。


1.2 switch value中填写不存在请求数字。那么默认读取第一个请求


1.3 switch value中填写在接口数量下的请求数字(默认从0开始计算),则读取对应数字下的请求。比如下面是1,则是第二个请求。


1.4 switch value中不填写,默认读取第一个


1.5 switch value中填写没有的请求名,则默认读取default的请求,没有则不发送请求。


如果存在default的请求,那就运行default的请求。

其实在我看来,工作中的脚本很少用到这些控制器。
本文介绍了在接口测试中如何利用ForEach控制器根据countryid自定义变量进行动态请求,并详细讲解了Switch控制器的功能,包括根据请求匹配、计数和default规则发送不同请求。
453

被折叠的 条评论
为什么被折叠?



