jmeter控制器(二)
循环控制器:
顾名思义就是做循环控制的,与线程组的循环一样的,不过这里的循环控制器是用在一个单独的模块的,而在线程组里面的循环是作用于全局的。循环控制器里面设置的循环次数是局部有效,只控制自己范围内的循环次数,就能更好的作用于接口分支流程的场景,如果线程组设置循环次数为10,循环控制器设置为10,那么循环控制器里面的内容循环次数等于10*10等于100次,循环控制器如下图:
如果我们想设置循环控制器下面的注册用到2个参数,登录用到3个参数,此时如果在线程组里面设置循环次数,或者在线程组级别去设置顺序读取csv文件是没法达到想要的效果的,那么就需要在循环控制器里面添加配置原件下的“用户自定义变量”或配置CSV配置文件,具体路径如下图:
通过在CSV文件里面配置循环就可以控制相应的读取循环次数了,添加CSV配置文件后的页面如下:
如下面一样,登录后做10次新增项目操作时,就需要用到循环控制器设置循环10次,如果无循环控制器之前的登录,就会出现新增项目跑出来的结果里面有个重定向302,如下图:
上边的上设置运行后实现登录一次,新建10个项目的场景,如下图:
ForEach控制器:
主要做参数遍历用的,通常如跑了很多个接口,返回了很多个参数,可以通过该控制器将返回的参数全部抓取出来,然后用到接下来的接口里面,我们需要使用foreach控制器首先需要有数据,这里我们新建一个JDBD Request来进行查询新增项目的id供后续使用,变量名填写为api,写语句就查询project表中的id即可,配置如下图:
运行查表后结果树显示正确查询出12个新增项目的id,如下图:
下面我们将查表中填写上结果传入参数id,如下图:
再设置一个foreach控制器,入参接收查表的输出id,出参也用id接收,如下图:
Foreach控制器下边用JDBC请求,并接受控制器的id做删除操作,如下图:
运行结果实现了将表中查询出来的多个项目id进行遍历逐个执行删除,结果如下图: