我们完成了用户行为模拟,这些元件的运行顺序又是怎样的呢?是否按我们的预期执行呢?
下面我们要讲一下元件运行的顺序, JMeter脚本显示的是树型结构(类似LoadRunner中的专家模式) , 元件的执行顺序类似二叉树的中序遍历, 先执行根节点再执行子节点。
下面用一个例子来说明一下,JMeter执行顺序逻辑如下。
● 配置元件(如果存在)。
● 前置处理器(如果存在)。
● 定时器(如果存在)。
● 取样器(如果存在)。
● 后置处理器(如果存在且取样器的结果不为空)。
● 断言(如果存在且取样器的结果不为空)。
● 监听器(如果存在且取样器的结果不为空)。
针对上图测试计划执行顺序如下。
(1)执行“线程组”,如果有多个线程组可以在测试计划中设置是顺序执行还是同时执行。
(2)执行“简单控制器”。
(3) 执行配置元件“HTTP Cookie管理器”。
(4)执行前置处理器“用户参数”。
(5) 执行定时器”Synchronizing Timer“, 类似于LoadRunner中的集合点。
(6) 执行取样器“HTTP请求1”。
(7)执行后置处理器“正则表达式提取器”。
(8)执行断言“响应断言”。
(9) 执行配置元件“HTTP Cookie管理器”。
(10)执行前置处理器“用户参数”。
(11) 执行定时器“Synchronizing Timer”, 类似于LoadRunner中的集合点。
(12) 执行取样器“HTTP请求2”。