一、八大元件介绍
元件就是多个功能组件组成的容器
1.取样器
作用:
允许jmeter将特定类型的请求发送到服务器
常用的取样器:
1)HTTP请求
2)JDBC Request
3)BeanShell
4)调试取样器
2.逻辑控制器
作用:
可以控制线程中取样器处理顺序, 还可以更改其子元素请求的顺序
控制器分类:
一类控制测试计划重取样器节点的请求执行顺序的逻辑控制
1)如果(if)控制器
2)循环控制器
3)ForEach控制器
一类是用来组织和控制取样器节点的
4)事务控制器
4)吞吐量控制器
3.前置处理器
作用:
在实际请求发出前对即将发出的请求进行特殊处理
常用的前置处理器:
1)用户参数
4.后置处理器
作用:
对取样器发出请求后得到服务器响应进行处理.一般用来提取响应的特定数据
常用的后置处理器:
1)正则表达式提取器
2)xpath提取器
3)json提取器
5.断言
作用:
用于检查测试中得到的响应数据是否符合预期.断言一般用来设置检查点,用以保证性能测试过程中的数据交互与预期一致
常用的断言:
1)响应断言
2)Json断言
3)断言持续时间
6.定时器
作用:
设置不同操作之间的等待或延迟时间
常用的定时器:
1)Synchronizing Timer(同步定时器)【又名:集合点】
2)Constant Throughput Timer(常数吞吐量定时器)
7.配置元件
作用:
设置一些相关请求的静态配置,不需要每次都重复配置,比如设置一些公用的配置信息, 这样取样器就可以共享这些配置,方便对脚本的维护和使用一些高级用法。
常用的配置元件:
1)CSV 数据文件配置
2)HTTP 信息头管理器
3)HTTP请求默认值
4)用户定义的变量
5)JDBC Connection Configuration
8.监听器
作用:
对测试结果进行处理和可视化展示
常用的监听器:
1)查看结果树
2)聚合报告
二、执行顺序与作用域
1.作用域
在Jmeter中,元件的作用域是靠测试计划的树形结构中元件父子关系来确定
原则:
1)sampler不与其他元件相互作用,因此不存在作用域问题
2)Logic Controller只对 其子节点中的sampler和Logic Controller作用
3)除sampler和Logic Controller外的其他元件,如果是某个sampler的子节点,则该元件仅对其父节点作用
4)除sampler和Logic Controller外的其他元件,如果其父节点不是sampler,则其作用域是该元件父节点下的其他所有后带节点(包括子节点,子节点的子节点等)
提示:
核心是取样器,其他组件都是以取样器为核心运行的
2.执行顺序
1)逻辑控制器
2)配置元件
3)前置处理器
4)取样器
5)后置处理器
7)断言
8)监听器