版權聲明:知識本來就是要分享的,此為學習沐童博客后的電子版筆記,用來加深印象。歡迎分享,請注明出處--沐童的博客。
首先我們來看看一共有多少個邏輯控制器(我用的是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系列-腳本編寫及規范/作業。
