两个线程组之间是不可以直接传入参数的
执行顺序
一般情况下JMeter按照如下顺序执行∶
0.配置元件
1.定时器
2.前置处理器
3.取样器
4. 后置处理器
5.断言
6.监听器
一个简单的例子∶
-Test Plan
-Thread Group
-HTTP Requesto 4
HTTP Cookie Managera 1
Constant Timer 2
HTML Link Parser 3
Regular Expression Extractor 5
Response Assertion 6
View Results Tree 7
其中1 为配置元件,2 为定时器,3 为前置处理器,4 为取样器,5 为后置处理,6 为断言,7 为监听器;
执行的顺序依次为1至7
作用域
JMeter测试树中的元素可以分为两类∶层次结构与顺序结构
层次结构的元素包括∶配置元件,定时器,前置处理器,后置处理器,断言与监听器;顺序结构的元素包括∶取样器和逻辑控制器.
一般而言取样器没有作用域的概念,逻辑控制器控制旗下的子节点;
这里重点讨论具有层次结构的元素的作用域规则.
层次结构的元素作用域
具有层次结构的元素的作用域规则如下∶
(1)若其父节点为取样器,则其只对该取样器起作用;
(2)若其父节点为逻辑控制器,则会影响逻辑控制器下的所有取样器;
(3)若其父节点为线程组,则会影响线程组下的所有取样器;
(4)若其父节点为测试计划,则会影响测试计划下的所有取样器.
一些例子∶
1.父节点为取样器
-Test Plan-Thread GroupHTTP Request1Response ASsertionView Results TreelHTTP Request2View Results Tree2
Response Assertion断言的父节点为HTTP Request1取样器,则只断言HTTP Request1的响应数据,不会对HTTP Request2进行断言.
2.父节点为逻辑控制器
-Test Plan-Thread Group-Loop ControllerResponse Assertion-HTTP Request1View Results Tree1-HTTP Request2View Results Tree2
Response Assertion断言的父节点为Loop Controller逻辑控制器,Response Assertion会对HTTP Request1和HTTP Request2的响应数据做断言.
3.父节点为线程组
-Test Plan-Thread GroupResponse Assertion-HTTP Request1View Results Tree1-Loop Contro1ler-HTTP Request2view Results Tree2-HTTP Request3View Results Tree3
Response Assertion断言的父节点为Thread Group线程组,Response Assertion会对线程组下的 HTTP Request1,HTTP Request2与HTTP Request3的响应数据做断言.
4.父节点为测试计划
-Test PlanResponse Assertion-Thread Groupl-HTTP Request1view Results Treel-Loop Controller-HTTP Request2view Results Tree2-Thread Group2-HTTP Request3view Results Tree3
Response Assertion断言的父节点为Test Plan测试计划,Response Assertion会对测试计划下的 HTTP Request1,HTTP Request2与HTTP Request3的响应数据做断言.