在做性能測試時,往往都會關注並發測試,那么並發測試到底該怎么做呢?
下面就jmeter工具進行並發測試的主要步驟進行介紹:
CSV Data Set Config 用來做數據參數化
Synchronizing Timer 用來設置等待並發的位置,類似loadrunner 的集合點
Response Assertion 用來做響應斷言
Debug Simple 參考調用的參數信息
1.CSV Data Set Config 工具介紹:
Filename:引用文件地址,可以是相對路徑也可以是絕對路徑。
File encoding:讀取參數文件用到的編碼格式,這里建議使用utf-8的格式保存參數文件,省去出現亂碼的情況。
Variable Names :定義的參數名稱,用逗號隔開,將會與參數文件中的參數對應
Delimiter(use “\t” for tab):用來分隔參數文件的分隔符,默認為逗號,也可以用tab來分隔。
Allow quoted data?:是非選項,如果選擇是,那么可以允許拆分完成的參數里面有分隔符出現。
Recycle on EOF?:是非選項,是,遍歷參數文件;否,遍歷參數文件完成后不循環
Stop thread on EOF?:與Recycle on EOF中的false 復用,是,則停止測試,否,不停止測試。
Sharing mode:參數文件共享模式,有以下三種:
All threads:參數文件對所有線程共享,包括同一測試計划下的不同線程組。
Current thread group:只對當前線程組中的線程共享。
Current thread:僅當前線程獲取。
2.Synchronizing Timer 同步定時器
Number of simulated Users to Group by :用來設置等待多少並發量。
Timeout in milliseconds:設置等待超時時間
3.Response Assertion 響應斷言
Apply to:應用范圍。
Main sample and sub-samples:匹配范圍包括當前父取樣器並覆蓋至子取樣器。
Main sample only:匹配范圍是當前父取樣器。
Sub-samples only:僅匹配子取樣器。
JMeter Variable Name to use:支持對Jmeter變量值進行匹配。
Text Response:響應服務器返回的文本內容。http協議排除Header部分。
Response Code:匹配響應代碼,比如http協議返回代碼“200”代表成功,“302”代表重定向。
Response Message:匹配響應信息,比如處理成功返回“成功”字樣,或者“OK”字樣。
Response Headers:匹配響應頭中的信息。
Request Headers:匹配請求頭中的信息。
URL Sample:匹配URL鏈接。
Document(text):匹配文檔內容進行,察看結果樹中的響應數據部分
Ignore Status:一個請求有多個響應斷言,其中第一個響應斷言選中此項,當第一個響應斷言失敗時可忽略此響應結果,繼續進行下一個斷言,如果下一個斷言成功則還可以判定事務成功的。
Request Data:匹配請求數據。
Pattern Matching Rules:模式匹配規則。
Contains(包含):響應內容包括需要匹配的內容即代表響應成功,支持正則表達式。
Matches(匹配):響應內容要完全匹配需要匹配的內容即代表響應成功,大小寫不敏感,支持表達式。
Equals:響應內容要完全等於需要匹配的內容才代表響應成功,大小寫敏感,需要匹配的內容是字符串非正則表達式。
Substring:響應內容包含需要匹配的內容才代表響應成功,大小寫敏感,需要匹配的內容是字符串非正則表達式。
Not:選擇Equals與Substring時匹配的是字符串,大小寫敏感,有時會響應失敗,此時可以選擇此項,會降低匹配級別,類似降到“包括”,“匹配”的級別,這樣可以響應成功。
Or:或者
Patterns to Test(要測試的模式):輸入你要匹配的字符串或者正則表達式,注意要與模式匹配規則搭配好。
4. Debug Sample:
我們想知道參數化取值是否正確
我們想知道正則表達式取值是否正確
我們知道Jmeter屬性
調試時服務器返回些什么內容
Debug Sample與察看結果樹元件組合就能讓我們看到想看的內容。
Jmeter properties:是否查看Jmeter屬性,默認為false。
Jmeter variables:是否查看運行時變量,默認為false。
System properties:是否查看系統屬性,默認為false。
設置好后,在察看結果樹中就可以看到相關的參數值。
以上配置信息設置好之后,下面就是在注冊的請求接口中對用戶名和密碼進行參數化,直接調用參數名即可。具體如下:
最后,執行腳本並查看結果信息是否正確。
1.查看結果請求結果是否正確
(注:在此處還應該隨機拿一兩個賬號進行登錄,查看是否可以登錄成功。如果登錄成功 ,說明腳本執行是沒有問題的)
2.查看是否進行並發請求。
3.查看參數是否正確。
4.查看斷言是否成功。
OK!!!
jmeter整個並發注冊腳本基本完成,后續,可繼續在此基礎上進行腳本強化... ...