1、首先在自定义5个前缀为 北京宏哥 的变量,值分别为 a b c d e。并且 北京宏哥 后面的数字是连续的,如果不连续,则不会被循环到,如下图所示:
2、配置ForEach控制器,如下图所示:
3、添加请求 访问博客园首页 + 输出值:${宏哥},输出值是在控制器的输出变量 宏哥,通过 ${宏哥} 取到输出变量的值,如下图所示:
4、添加查看结果树,运行JMeter,查看结果树,如下图所示:
注意:敲黑板,敲脑袋!!!
1、输入变量的后缀数值一定要连续,比如 北京宏哥_1, 北京宏哥_2, 北京宏哥_3 ... 这样,如果中间有不连续的,循环会中断
2、循环开始的设定:如果变量为北京宏哥_1, 北京宏哥_2, 北京宏哥_3,而设定的开始为 1,则会从北京宏哥_2 开始循环
3、循环结束的设定:如果变量有3个 北京宏哥_1, 北京宏哥_2, 北京宏哥_3,而设定的结束为5,则只会循环 北京宏哥_1, 北京宏哥_2, 北京宏哥_3 ,如果设定的结束为2,则会循环 北京宏哥_1, 北京宏哥_2 。
4.3Include ControllerInclude控制器用来导入外部的测试片段(非完整的测试计划),在执行时会执行导入的测试计划,但是被导入的测试计划有特殊要求,它不能有线程组,只能包含简单的控制器及控制器下的元件。换句话说就是相当于加了一个执行单元,一个封装了的业务操作单元,类似我们程序开发中的函数(方法)一样。例如一个查询学生信息的业务操作我们用取样器来模拟,然后放到简单控制器中作为一个执行单元,别的地方也要用到时,我们可以不用重复造轮子直接引用过来。
一般来说,Include控制器和测试片段(Test Fragment)配合使用的比较常见。
1、我们先来看看这个include Controller长得是啥样子,路径:线程组 > 添加 > 逻辑控制器 > Include控制器,如下图所示:
2、关键参数说明如下:
Name:名称,可以随意设置,甚至为空;
Comments:注释,可随意设置,可以为空;
Filename:文件名,必输字段,如果没有,就会报错。通过Filename的路径和文件名引用外部的jmx文件。
宏哥推荐小伙伴或者童鞋们可以将 Include控制器 与 Module控制器(传送门)一起对比着学习,Include控制器 是从外部文件引用,只能引用整个测试片段的内容,Module控制器 是从内部文件中引用,引用上相对比较灵活,可以只引用部分测试片段或模块内容。这样一内一外不仅容易理解也容易记忆和学习。
4.3.1实例(1)当Filename路径的值为空,程序执行报错,脚本执行中止,不会继续执行下面的脚本内容。
1、首先创建一个Filename路径为空的测试计划,如下图所示:
2、运行JMeter,查看结果树(程序执行报错,脚本执行中止,不会继续执行下面 访问博客园首页 的取样器),如下图所示: