一、Debug Sampler(調試器取樣器)進行調試
添加方式:右鍵線程組->添加->取樣器->調試取樣器
參數說明:
JMeter properties和System properties:通常都選false,這兩個就是JMeter和系統的屬性,在Jmeter的bin的jmeter.properties中定義,一般都不會變
JMeter variables:這個是我們自已定義的變量,定義的方式有如下這些:
1) 選中測試計划(Test plan),在右邊的面板上添加User Defined Variables
2) 選中線程組,右鍵選擇 配置元件( config element)-->User Defined Variables
3) 通過后置處理器生成的變量
4) 使用csv參數化的變量
二、四種方式具體案例
1.添加方式:右鍵測試計划-->配置元件-->用戶定義的變量(User Defined Variables),變量名為:case1,變量值:測試計划-用戶定義的變量
2.添加方式:右鍵線程組-->配置元件-->用戶定義的變量(User Defined Variables),變量名為:case2,變量值:線程組-用戶定義的變量
3.添加方式:在需要獲取數據的http請求上右鍵-->后置處理器--> 選擇JSON提取器或者正則表達式提取器,變量名為:authentication,name ,變量值:接口返回
4.添加方式:右鍵線程組-->添加-->配置元件-->cvs數據文件配置,變量名:case4,變量值:cvs參數化配置變量
5、運行結果:
總結:
1、Debug Sampler會把我們自定義的變量輸出在response data中,方便我們調試的時候使用
2、在正式執行腳本時需要刪除Debug Sample
運行后發現對結果有些疑問,查詢一些資料后得以解決:
1.為什么通過正則表達式提取器中變量會包含_g、_g0、g1這種形式呢?
變量名:正則表達式提取的結果;
變量名_g:根據匹配規則所匹配的數量;
變量名_g0 :根據匹配規則所匹配的全部內容 ;
變量名_g1:根據匹配規則匹配出符合條件的內容;
舉個例子(提取多個字符串):
假設想要從web頁面的以下部分進行匹配:
name=“file.name” value=“readme.txt”
同時提取file.name和readme.txt
添加正則表達式提取器:
引用名:RefName
正則表達式:name="(.+?)" value="(. + ?)"
模板:$1$$2$
參考:https://blog.csdn.net/yue530tomtom/article/details/76571632
2.為什么通過cvs參數化的變量中文顯示亂碼呢?
網上了解,原來讀取csv文件時只需把文件編碼自行編輯為GB2312就行了;而讀取txt文件時才選擇編碼為UTF-8;
更改了文件編碼方式后正常;
參考:https://www.cnblogs.com/qgc1995/p/12631755.html