JMeter基础:元件的作用域与执行顺序2014-10-15 cnblogs 虫师前面有介绍过jmeter的元件类别,对于新手来说,jmeter的元件是还是不少的,如果我们按照每一个元件的每一个参数的含义去学习,无疑会降低学习性能测试的热情,就算我们熟悉了所有元件以及元件上的参数了,我们也不知道如何将其组合成我们想要描述的性能测试。另一方面,我们点击每个节点上的元件都会出现类似或相同的菜单,他们的层级关系是什么样的。究竟这个元件放在哪个层级的哪个位置才达到我们意愿。如何更快速的入门jmeter,个人建议通过录制脚本的方式,快速的了解一个性能测试应该包括的元件以及它们的层级关系。关于录制方式,请参考《JMeter基础之—录制脚本》如下,我通过badboy工具录制的一个脚本(脚本过程:登录126邮箱,给自己发一封邮件,祝自己圣诞快乐!),并可以方便的将脚本导出为jmx格式,这也是jmeter脚本的格式,所以可以被jmeter识别并导入。

脚本导入到jmeter后,我添加了两个监听器(查看结果树),因为我添加监听器的位置不同,他们的作用域也是不一样的。前一个只能监听到www.126.com页面的请求,后一个侧对所有的http请求进行监听。元件的作用域先来讨论一下元件有作用域。《Jmeter基础之---jmeter基础概念》一章中,我们介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements 、timers 、post-processors、assertions、listeners、)需要与取样器(sampler)等元件交互。配置元件(config elements )元件会影响其作用范围内的所有元件。前置处理程序(Per-processors)元件在其作用范围内的每一个sampler元件之前执行。定时器(timers )元件对其作用范围内的每一个sampler 有效后置处理程序(Post-processors)元件在其作用范围内的每一个sampler元件之后执行。断言(Assertions)元件对其作用范围内的每一个sampler 元件执行后的结果执行校验。监听器(Listeners)元件收集其作用范围的每一个sampler元件的信息并呈现。在jmeter中,元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,作用域的原则是:取样器(sampler)元件不和其它元件相互作用,因此不存在作用域的问题。逻辑控制器(Logic Controller)元件只对其子节点中的取样器 和 逻辑控制器作用。除取样器 和逻辑控制器 元件外,其他6类元件,如果是某个sampler的子节点,则该元件公对其父子节点起作用。除取样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler ,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。URL:http://www.bianceng.cn/Programming/project/201410/45870.htm