川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > 常见问题

接口性能测试,JMeter测试执行顺序与作用域

作者:川石学院 日期:2021-07-21 15:09:34 点击数:

  本章节主要讲解“接口性能测试JMeter执行顺序与作用域”的内容,类似于运算符或操作符的优先级,当JMeter测试中包含多个不同的元素时,哪些元素先执行,哪些元素后执行,并不是严格按照它们出现的先后顺序依次有序执行的,而是会遵循一定的内部规则,我们称之为JMeter元素的执行顺序。

接口性能测试,JMeter测试执行顺序与作用域(图1)

  一、执行顺序

  一般情况下JMeter元素按照如下顺序依次执行:0、 配置元件(Config Element) 1、前置处理器(Pre Processors) 2、定时器(Timer) 3、取样器(Sampler) 4、后置处理器(Post Processors) 5、断言(Assertions) 6、监听器(Listener)

  注意,只有取样器结果不为空的情况下才会执行4、5、6。

  一个简单的例子:  

      接口性能测试,JMeter测试执行顺序与作用域(图2)  

接口性能测试,JMeter测试执行顺序与作用域(图3)

  二、组件作用域

  1、JMeter测试树元素分类

  在JMeter的GUI界面,测试计划就是一颗树,Test Plan是树的根节点,其他元素都是其子孙.

  从作用域的角度来看,测试树中的元素可以分为两大类:

  01、具有层次结构的元素

  这类元素的作用域与其所处的层次有关.

  这类元素包括:配置元件,前置处理器,定时器,后置处理器,断言,监听器这6大组件.

  02、具有顺序结构的元素

  这类元素一般严格按照其出现的先后顺序依次有序的执行.

  这类元素不会对其他元素的功能有影响,只是起控制作用,没有作用域的概念.这类元素包括取样器与逻辑控制器.

  另外,还有剩下的线程组比较特殊,线程组也不会影响其他元素的功能,但是线程组的执行顺序是可以配置的,若测试计划下包含多个线程组,默认是并行执行的,若要按照其出现的顺序依次执行,需要在测试计划下勾选"Run Thread Groups consecutively (i.e. one at a time)".

  2、作用域

  JMeter组件作用域指的是JMeter组件(配置元件,前置处理器,定时器,后置处理器,断言,监听器)起作用的范围,在此范围内组件是有效的,可以影响取样器的行为.

  从前面的内容可以看出,JMeter作用域是针对组件而言的,只有层次结构的组件才有作用域的概念.

  3、JMeter组件作用域规则

  按照组件的父节点不同,组件的作用域有如下类型:

  (1)取样器作用域

  父节点为取样器的组件具有的作用域,仅对该取样器起作用;

  (2)逻辑控制器作用域

  父节点为逻辑控制器的组件具有的作用域,对该逻辑控制器下的所有取样器起作用;

  (3)线程组作用域

  父节点为线程组的组件具有的作用域,对该线程组下的所有取样器起作用;

  (4)测试计划作用域

  父节点为测试计划的组件具有的作用域,对测试计划下的所有取样器起作用。

  三、作用域案例说明

  1、取样器作用域

  "Response Assertion_1"响应断言,其父节点为"HTTP Resquest_baidu_1"取样器,具有取样器作用域,其作用域为该取样器.所以此响应断言只会断言"HTTP Resquest_baidu_1",而不会断言"HTTP

  Resquest_baidu_2"取样器,如下图示:  

接口性能测试,JMeter测试执行顺序与作用域(图4)

  2、逻辑控制器作用域

  "Response Assertion"响应断言,其父节点为"Loop Controller1"逻辑控制器,具有逻辑控制器作用域,其对逻辑控制器下的所有取样器起作用.所以该响应断言会断言"Loop Controller1"逻辑控制器下所有取样器,包括"HTTP

  Request1","HTTP Request2"与"HTTP Request3",如下图示:  

接口性能测试,JMeter测试执行顺序与作用域(图5)

  3、线程组作用域

  "Response Assertion"响应断言,其父节点为"Thread Group"线程组,具有线程组作用域,其对线程组下的所有取样器起作用.所以该响应断言会断言"Thread Group"线程组下所有取样器,包括"HTTP Request1","HTTP Request2","HTTP Request3"与"HTTP Request4",如下图示: 

接口性能测试,JMeter测试执行顺序与作用域(图6)

  4、测试计划作用域

  "Response Assertion"响应断言,其父节点为"Test Plan"测试计划,具有测试计划作用域,其对测试计划下的所有取样器起作用.所以该响应断言会断言"Test Plan"测试计划下所有取样器,包括"HTTP Request1","HTTP Request2","HTTP Request3","HTTP Request4","HTTP Request5"与"HTTP Request6",如下图示:  

接口性能测试,JMeter测试执行顺序与作用域(图7)


  本章节讲解的关于“JMeter执行顺序与作用域”的内容就到这里,大家觉得内容有用的话记得每天来这里和小编一起学习涨薪技能哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-07-21 15:09:34
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-07-21 15:09:34
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-07-21 15:09:34
  • 建筑工程专业朱同学成功转行为软件测试人!2021-07-21 15:09:34
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-07-21 15:09:34
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-07-21 15:09:34
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-07-21 15:09:34
  • 文科生转行软件测试照样拿下高薪15K!2021-07-21 15:09:34
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-07-21 15:09:34
  • 毕业1年,迷茫的他最终选择转行软件测试2021-07-21 15:09:34