jmeter 循环控制器使用
案例一:
一、认识循环控制器
如下图:新增一个循环控制器
循环控制器的设置界面:
循环次数:永远和自定义次数,这个应该比较好理解。
二、使用循环控制器
其实大家对Jmeter的熟悉的话,应该会想到,线程组 这个设置界面也是有一个循环次数的设置,那么到底他们两个有什么关联呢。我理解为父子关系。
下面举个例子,
首先在线程组中设置循环次数3,循环控制器中设置循环测试2,其他默认,添加一个计时器,方便查看结果,如下:
执行后,查看结果树:
理解为:一秒发送一个请求,循环三次,每次循环中又循环两次。
for(int i=1;i<=3;i++){ 线程组中的循环
for(int j=1;j<=2;j++){ 循环控制器中的循环
执行
}
}
使用场景:一对多的关系。比如 创建一个部门,然后在该部门下创建多个员工。就用到了循环控制器。
转自:https://www.cnblogs.com/sandymonk/p/11572867.html
案例二:
任务:通过获取mysql数据库表中的字段,作为http请求中的查询参数
一、添加jdbc请求
1、新增测试计划-线程组-jdbc连接配置,完成数据库连接配置
2、添加jdbc请求
3、添加查看结果树,接着执行jdbc请求,查看jdbc请求的结果
4、添加debug sampler,接着执行jdbc请求,可以查看jdbc请求成功后,相关的变量,我将要拿这个title的变量值作为访问请求的参数
二、添加循环控制器
1、配置循环控制器
2、添加计数器
3、添加http请求
4、执行http请求,查看结果树,发现报错了,因为变量值里面含有空格,url解析报错,我们要想方法把空格去掉
5、使用BeanShell取样器来处理变量值中的空格,添加BeanShell取样器并放置在http请求前,并且添加对应的脚本
6、执行线程组下的所有请求,接着查看结果树,发现http请求报错
处理方式:添加HTTP信息头管理器,将浏览器调试器的请求头信息复制到HTTP信息头管理器的配置中
执行线程组下的所有请求,查看结果树,http请求成功