收尾
其他元件
1逻辑控制器
1.1 简单控制器
简单逻辑控制器允许您组织采样器和其他逻辑控制器。与其他逻辑控制器不同,该控制器提供的功能仅限于存储设备。通过右键在弹出菜单中选择“添加->逻辑控制器->简单控制器”,如图1所示。
图1 简单控制器
简单控制器仅仅将下面的元素执行一次,打开本书配套代码:SimpleTestPlan.jmx。如图2所示。
图2 SimpleTestPlan.jmx
在图2中有两个简单逻辑控制器,旧版本和新版本。旧版本下包括两个HTTP请求:登录和商品列表HTTP请求;新版本包括两个HTTP请求:查看商品详情和商品列表HTTP请求。运行完毕,察看结果树,JMeter按照顺序,将登录HTTP请求、商品列表HTTP请求、查看商品详情HTTP请求和商品列表HTTP请求依次执行了一次。
1.2 While控制器
While控制器运行其子级,直到条件为false为止。JMeter将把循环索引公开为一个名为__jm____idx的变量。如果您的While控制器名为BOOK,那么您可以通过${__jm__BOOK__idx}访问循环索引。索引从0开始。通过右键在弹出菜单中选择“添加->逻辑控制器->While控制器”,如图3所示。
图3 While控制器
- Condition(function or variable):空白、LAST、或者变量/函数。
可能的条件值。
- 空白:循环中最后一个样本失败时退出循环。
- LAST:当循环中的最后一个样本失败时退出循环。如果循环前的最后一个样本失败,不要进入循环。
- 否则:当条件等于字符串时退出循环。
例如:
- ${VAR}:其中,其他测试元素将VAR设置为false。
- {__jexl3({C}==10)}。
- {__jexl3("{VAR2}"=="abcd")}。
- {_P(property)} :其中property在其他地方设置为false。({_P(property)}为一个全局变量)。
1.3 Switch控制器
Switch控制器的作用类似于交替控制器,因为它在每次迭代中运行一个从属元素,但控制器运行由开关值定义的,而不是按顺序来运行。通过右键在弹出菜单中选择“添加->逻辑控制器->Switch控制器”,如图4所示。
图4 Switch控制器
- Switch Value:要调用的从属元素的编号(或名称)。元素从0开始编号。默认为0。
如果Switch值超出某个范围,它将运行第0个元素,因此该元素将作为默认值。如果值是空字符串,它仍旧运行第0个元素。
如果该值不是数字并且非空,则Switch控制器将查找具有相同名称的元素(大小写敏感)。如果所有名称都不匹配,则选择名为"default"(大小写不敏感)的元素。如果没有默认值,则不选择任何元素,控制器将不会运行任何操作。
打开本书的配套代码:switch.jmx,如图5所示。
图5 swtch.jmx
Switch Value中填写2(从0开始),它执行第3个调试取样器。