Jmeter本身有很多逻辑控制器,这里我们先介绍ForEach控制器的基础使用。
一、ForEach Controller的基本组成
可以通过以下步骤添加ForEache控制器:
右击线程组-->选择Add-->选择Logic Controller-->ForEach Controller
ForEach控制器的界面组成:
各个参数的使用如下:
参数 | 作用 |
Input variable prefix | 需要循环遍历的变量名前缀,即“_”前的变量名 |
Start index for loop(exclusive) | 遍历的起始下标(不包含),例如设置0,则下标从1开始 |
End index for loop(inclusive) | 遍历的结束下标(包含),例如设置5,则下标到5结束 |
Output variable name | 遍历时真正使用的参数名 |
Add "_" before number? | 默认勾选,保持默认即可 |
注:起始下标、结束下标设置后,只会遍历设置范围内的下标,否则默认遍历所有的下标。
二、ForEach Controller操作样例详解
接下来将以百度为例,详细描述下ForEach Controller的基本使用。
1、创建http请求,访问百度主页,并提取响应数据中的超链接地址。
响应结果如下:
2、添加正则表达式,设置公式"<a href=http://([^ ]+) name",提取<a href=http:// name中的内容,并将提取的内容保存到turl参数中
将会得到一组turl参数:turl_1、turl_2....
3、设置ForEach控制器,循环遍历前缀turl,并用参数turl承接获取到的参数
4、控制器中添加http请求,Server Name设置ForEach输出的参数turl
5、运行线程组,查看请求结果中是否遍历了所有匹配的超链接地址