JMeter的执行顺序是按照线程组中的控制器依次执行的。
在同一线程中,JMeter按照以下顺序执行测试元素:
- 首先,执行线程组的配置元素,例如用户定义的变量、CSV数据文件配置等。
- 然后,执行线程组中的所有前置处理器(Pre-Processor),例如正则表达式提取器、BeanShell前置处理器等。
- 接下来,执行线程组中的所有控制器,例如if控制器、循环控制器、事务控制器等。控制器决定测试元素的执行次数和顺序。
- 在控制器之后,执行线程组中的所有取样器(Sampler),例如HTTP请求、FTP请求等。
- 然后,执行线程组中的所有断言器(Assertion),例如响应断言、HTML断言等。断言器用于验证取样器的响应是否符合预期。
- 最后,执行线程组中的所有后置处理器(Post-Processor),例如正则表达式提取器、BeanShell后置处理器等。
需要注意的是,JMeter在同一线程中按照控制器的顺序依次执行测试元素,但是在实际执行过程中,可能会有并发操作发生。例如,在循环控制器中设置了多个线程,并发执行多个取样器。这种情况下,实际执行的顺序可能与控制器中的顺序不一致。