JMeter (二) 邏輯控制器的含義和用途詳解


版權聲明:知識本來就是要分享的,此為學習沐童博客后的電子版筆記,用來加深印象。歡迎分享,請注明出處--沐童的博客。

首先我們來看看一共有多少個邏輯控制器(我用的是jmeter 2.6,)一共是16個。

 

1.ForEach 控制器

含義:在“用戶定義的變量”中設置一些變量,ForEach控制器,會按照設置的規則,從變量中取數據,用於其下面的節點中。下面張圖來詳細解釋下。(“用戶定義的變量”是屬於“配置原件”下的,這里我們先添加一個“用戶定義的變量”):

 

(1)用戶定義的變量:

 

 接着點擊ForEach邏輯控制器,按照下圖填寫參數:

 

完成上面的步驟之后,我們再添加一個HTTP請求(注意:是在ForEach的節點下點擊sampler后添加,不是在線程組的節點下添加),如圖:

點擊這個HTTP請求,按照下圖填寫參數:

這里我們會發現,填寫的路徑和ForEach中的“輸出變量名”一致,添加監聽器后我們來看下執行的結果。

用戶定義的變量中,url_1為baidu,url_2為goole,變量前綴為url_,輸出后的變量名稱為returnVal,由此可見,ForEach邏輯控制的作用即為根據用戶定義的變量,各執行一次請求操作。

 

 

 

 

2.Include Controller(包含控制器)

 

---------------------------------------------------------------------------------------------------------分割線--------------------------------------------------------------------------------------------------------------------------------------

 

為了更進一步的學習jmeter,我們對各個組件進行了簡短的小結,以幫助理解和記憶,詳情如下:

1.線程組:場景的起點,設置多少用戶並發,什么時候開始跑,跑多久。

2.控制器:包含循環控制器和邏輯控制器。

3.配置元件:對samplers進行配置,避免重復內容。

4.定時器:請求之前的暫停。

5.前置處理器:運行在samplers之前,多用於設置samplers,和更新從上一個響應獲取的變量值。

6.sampler:是真正的請求,jmeter腳本中必須要有sampler。

7.后置處理器:運行在samplers之后,多用於對響應數據的處理。

8.斷言:驗證服務器返回的信息是否正確。

9.監聽器:收集測試用例運行信息,例如響應時間,請求和響應的詳細內容。

 

二、jmeter組件執行順序

1.配置元件

2.前置處理器

3.定時器

4.取樣器

5.后置處理器

6.斷言

7.監聽器

PS:只有有samplers的時候,定時器,斷言,前置\后置處理器才會被運行,邏輯控制器和samplers按他們在樹里的排列順序執行。

 

 

三、jmeter的作用域

元件的作用域是靠測試計划的樹型結構中元件的父子關系來確定的,作用域的原則是:

1.采樣器:元件不和其他元件相互作用,因此不存在作用域的問題。

2.邏輯控制器:元件只對其子節點的取樣器和邏輯控制器起作用。

3.除采樣器和邏輯控制器元件外的其他6類元件,如果是某個sampler的子節點,則該元件只對其父節點起作用。

4.除采樣器和邏輯控制器元件外的其他6類元件,如果其父節點不是sampler,則其作用域是該元件父節點下的其他所有后代節點(包括子節點、子節點的子節點等)。

PS:用戶定義的變量:該元件定義的變量是全局變量,不管放在那里都是有作用所有域的。

 

 四、jmeter腳本的編寫

1.腳步錄制

2.參數關聯

3.調試

4.變量的提取

5.腳本格式編寫

 

五、創建一個web自動化測試腳本

請先思考:1.必須的控件有哪些?

                  答:用戶定義的變量、HTTP Cookie 管理器、請求參數、線程組、簡單控制器、斷言、Debug Sampler、查看結果樹。

例如:

 

六、自動化腳本測試規范

1.用簡單控制器記錄,用戶和服務器的一次交互,里面和以前的接口中有重復的,可以禁用。

2.根據用戶操作和業務名稱命名和編號,生成報告后方便查看,例如:控制器需要寫清楚用戶操作或者訪問的頁面,具體接口最好能寫清楚接口名稱和作用。

3.大部分接口請求都需要做斷言,保證結果的正確性。

4.切換用戶(測試變量)進行調試,保證腳本的可靠性。

 

七、創建一個web性能測試腳本

請先思考:性能測試特有控件有哪些?

                  答:1.jp@gc - Stepping Thread Group(線程組)

                         2.CSV Data Set Config jp@gc - Transactions per Second

                         3.jp@gc - Response Times vs Threads

                         4.jp@gc - PerfMon Metrics Collector

 

 

問題

1.有沒有完整的課程與教材?

2.總有些功能是“不知道可以這樣用”,是否有相關教程,提供一些開拓思路、提升技巧方面的?

3.查看結果樹,響應數據會出現亂碼,已經修改了配置文件的中文格式utf-8,不知道是什么情況? 4.自己本機和巡檢跑的時候,總有一個斷言失敗,但其他人機器上跑是正常的,機器原因?

5.希望能以一個實際項目帶領教學,讓大家清楚知道怎么去做?如何分析?+1+1 +1

6.推送jmeter接口測試/性能測試視頻,分享技巧。

7. 學習jmeter需要Java編程學到什么程度?

8. jmeter是否可以幫助我做冒煙測試?

9. app端的測試,jmeter如何能最大程度提供幫助?什么幫助?

10.推薦相關jmeter由易到簡的相關書籍方便自學的(易懂)。

11. 利用jmeter巡檢中常見的問題。

12.對於錄制腳本最方便的工具和錄制的方法。

13.jmeter基本操作流程 14.希望提供實戰機會,例如:實際課程練習 15.由針對性的教學,有人想精深,有人只想簡單維護日常巡檢腳本。

 

作業:拿自己的項目練手,編寫自動化測試腳本。 作業上傳至: https://172.16.16.87/svn/WYTesting/Share/01技術交流分享/04技術交流視屏記錄/49-jmeter系列-腳本編寫及規范/作業。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM