一.foreach控制器
foreach控制器与用户定义的变量是绑定使用的,对它下面的子节点进行循环。
1.创建用户定义的变量:线程组——添加——配置元件——用户定义的变量。
在“用户定义的变量”下面值中添加你需要的变量,名称前缀(url)要一致,后缀("_"后面的数字)则是从1开始递增。这样有利于迭代取值到时候都能取到。
2.创建ForEach控制器:线程组——添加——逻辑控制器——ForEach控制器。
输入变量前缀:这里放的是“用户定义的变量”中的名称前缀(url);
Start inex for loop(exclusive)起始的索引:默认是1;
End inex for loop(exclusive)结束的索引:默认是最后一个;
输出变量名称:这里设置的参数用来获取“用户定义的变量”中的变量。
Add "_" before number?前面默认勾选上。
3.在ForEach控制器下面创建http请求,并往里面放置你设置的参数。
4.运行一下,可以访问上面你设置的变量值,说明ok。我这里只循环一次,http请求数量是上面你设置的变量数量。
二.Switch Controller
1.创建Switch Controller:线程组——添加——逻辑控制器——Switch Controller。
Switch Value:设置你要访问的请求索引(从0开始的)或者直接设置访问的请求名称。
2.在Switch Controller下面创建两个http请求,分别是“访问百度首页”和“访问百度新闻”。
3.上面Switch Value我设置的索引为0,下面来运行一下。看,可以访问到索引为0的http请求(访问百度首页),说明ok。
4.现在我们将Switch Value设置为访问的请求名称(访问百度新闻)。
5.下面来运行一下,可以访问到“访问百度新闻”请求,说明ok。
三、IF控制器
1.用户定义的变量:线程组——添加——配置元件——用户定义的变量。
我设置参数名称为username,它的值是admin。
2.创建第一个if控制器:线程组——添加——逻辑控制器——如果(If)控制器。
在第一个if控制器下面创建一个http请求(访问百度首页)
第一个if控制器的条件是"${username}"=="admin",当满足条件用户定义的变量中username设置的值等于admin时,执行“访问百度首页”请求。
注意进行比较的是字符串的形式,需要用引号。
3.创建第二个if控制器:线程组——添加——逻辑控制器——如果(If)控制器。
在第二个if控制器下面创建一个http请求(访问百度新闻)
第一个if控制器的条件是"${username}"!="admin",当满足条件用户定义的变量中username设置的值不等于admin时,执行“访问百度新闻”请求。
4.如用户定义的变量的图中所示,我在用户定义的变量中设置的username的值为admin,下面运行一下,结果显示的是“访问百度首页”,说明ok。
四、事务控制器:
目的:统计该控制器下面的子节点运行的时间。
1.创建事务控制器:线程组——添加——逻辑控制器——事务控制器。
2.在事务控制器下面创建两个http请求和“用表格察看结果”。
Generate parent sample:统计控制器下面所有子节点的总共的时间。勾选上这一项后,结果如下:只显示总共的时间
不勾选上Generate parent sample这一项,结果如下:显示出每个子节点的时间和总共的时间。
Include duration...generated sample:统计定时器等待的时间。如果你添加了定时器,然后勾选了这一项,则会将你定时器等待的时间也统计出来。
五、循环控制器
可以理解为:循环该控制器下下面字节点的次数。
线程组里循环次数设置了n次,循环控制器下的循环次数也设置了m次,则该控制器下的请求运行的次数是(n*m)次。
下面我设置线程组中的循环次数为2次:
设置循环控制器中的循环次数为3次;
下面运行一下,查看结果返回的是2*3=6次。
六、吞吐量控制器:
控制该控制器下面子节点运行次数。
1.创建吞吐量控制器:线程组——添加——逻辑控制器——吞吐量控制器。
Total Executions:吞吐量的次数;
Percent Executions:吞吐量占的百分比。
2.选择吞吐量次数来试下,我让控制器1运行2次,让控制器2运行1次。
3.运行一下线程组,返回的结果显示百度新闻访问了2次,百度首页访问了1次。