# jmeter 元件的作用域與執行順序
jmeter是一個開源的性能測試工具,它可以通過鼠標拖拽來隨意改變元件之間的順序以及元件的父子關系,那么隨著它們的順序和所在的域不同,它們在執行的時候,也會有很多不同。
jmeter的test plan通過圖形化的方式表達腳本,域代碼方式的腳本不同,圖形方式表達的腳本中無法使用變量和函數等描述元件的作用域,因此jmeter主要依靠test plan中元件的相對位置、
父子關系以及元件本身的類型來決定test plan中各元件的執行順序;原件在test plan中的位置不同,可能導致該元件的行為有很大差異。(新版jmeter都可以自主選擇語言,對號入座即可)
**1、元件的作用域**
jmeter中共有8類可被執行的元件(test plan和thread group不屬于元件),其中,sampler(取樣器)是不與其他元件發生交互的作用的元件,Logic Controller
(邏輯控制器)只對其子節點的sampler有效,而其他元件需要與sampler等元件交互。
**Config Elements(配置元件):**影響其范圍內的所有元件
**Pre-porcessors(前置處理器):**在其作用范圍內的每一個sampler元件之前執行
**Timer(定時器):**對其作用范圍內的每一個sampler有效
**Post-porcessors(后置處理器):**在其作用范圍內的每一個sampler元件之后執行
**Assirtions(斷言):**對其作用范圍內的每一個sampler元件執行后的結果執行校驗
**Listener(監聽器):**收集其作用范圍內的每一個sampler元件的信息并且呈現出來
在jmeter中,元件的作用域是靠test plan的樹形結構中元件的父子關系來確定的,其原則如下:
**1)**sampler不與其他元件相互作用,因此不存在作用域問題
**2)**Logic Controller只對其子節點中的sampler和Logic Controller作用
**3)**除sampler和Logic Controller外的其他元件,如果是某個sampler的子節點,則該元件僅對其父節點作用
**4)**除sampler和Logic Controller外的其他元件,如果其父節點不是sampler,則其作用域是該元件父節點下的其他所有后帶節點(包括子節點,子節點的子節點等)
**2、元件的執行順序**
在同一作用域范圍內,test plan中的元件按照以下順序執行:
1)?**Config Elements**
2)?**Pre-porcessors**
3)?**Timer**
4)**Sampler**
5)?**Post-porcessors**(除非Sampler得到的返回結果為空)
6)?**Assirtions**(除非Sampler得到的返回結果為空)
7)?**Listener**(除非Sampler得到的返回結果為空)
注意:Pre-porcessors、Post-porcessors和Assirtions等元件僅對Sampler作用,如在它們作用域內沒有任何Sampler,則不會被執行;
? ? 如果在同一作用域范圍內有多個同一類型的元件,則這些元件按照它們在test plan中的上下順序依次執行。
- 第一章-測試理論
- 1.1軟件測試的概念
- 1.2測試的分類
- 1.3軟件測試的流程
- 1.4黑盒測試的方法
- 1.5AxureRP的使用
- 1.6xmind,截圖工具的使用
- 1.7測試計劃
- 1.8測試用例
- 1.9測試報告
- 2.0 正交表附錄
- 第二章-缺陷管理工具
- 2.1缺陷的內容
- 2.2書寫規范
- 2.3缺陷的優先級
- 2.4缺陷的生命周期
- 2.5缺陷管理工具簡介
- 2.6缺陷管理工具部署及使用
- 2.7軟件測試基礎面試
- 第三章-數據庫
- 3.1 SQL Server簡介及安裝
- 3.2 SQL Server示例數據庫
- 3.3 SQL Server 加載示例
- 3.3 SQL Server 中的數據類型
- 3.4 SQL Server 數據定義語言DDL
- 3.5 SQL Server 修改數據
- 3.6 SQL Server 查詢數據
- 3.7 SQL Server 連表
- 3.8 SQL Server 數據分組
- 3.9 SQL Server 子查詢
- 3.10.1 SQL Server 集合操作符
- 3.10.2 SQL Server聚合函數
- 3.10.3 SQL Server 日期函數
- 3.10.4 SQL Server 字符串函數
- 第四章-linux
- 第五章-接口測試
- 5.1 postman 接口測試簡介
- 5.2 postman 安裝
- 5.3 postman 創建請求及發送請求
- 5.4 postman 菜單及設置
- 5.5 postman New菜單功能介紹
- 5.6 postman 常用的斷言
- 5.7 請求前腳本
- 5.8 fiddler網絡基礎及fiddler簡介
- 5.9 fiddler原理及使用
- 5.10 fiddler 實例
- 5.11 Ant 介紹
- 5.12 Ant 環境搭建
- 5.13 Jmeter 簡介
- 5.14 Jmeter 環境搭建
- 5.15 jmeter 初識
- 5.16 jmeter SOAP/XML-RPC Request
- 5.17 jmeter HTTP請求
- 5.18 jmeter JDBC Request
- 5.19 jmeter元件的作用域與執行順序
- 5.20 jmeter 定時器
- 5.21 jmeter 斷言
- 5.22 jmeter 邏輯控制器
- 5.23 jmeter 常用函數
- 5.24 soapUI概述
- 5.25 SoapUI 斷言
- 5.26 soapUI數據源及參數化
- 5.27 SoapUI模擬REST MockService
- 5.28 Jenkins的部署與配置
- 5.29 Jmeter+Ant+Jenkins 搭建
- 5.30 jmeter腳本錄制
- 5.31 badboy常見的問題
- 第六章-性能測試
- 6.1 性能測試理論
- 6.2 性能測試及LoadRunner簡介
- 第七章-UI自動化
- 第八章-Maven
- 第九章-測試框架
- 第十章-移動測試
- 10.1 移動測試點及測試流程
- 10.2 移動測試分類及特點
- 10.3 ADB命令及Monkey使用
- 10.4 MonkeyRunner使用
- 10.5 appium工作原理及使用
- 10.6 Appium環境搭建(Java版)
- 10.7 Appium常用函數(Java版)
- 10.8 Appium常用函數(Python版)
- 10.9 兼容性測試