1.配置元件
csv Data set config:用來獲取csv文件或者txt文件的內容,一行一行的獲取,然后把每一行的內容賦值給變量,若有多個,一般用逗號隔開
計數器:一般用來生成不同的值,比如從1遞增到100,賦值給num
http請求頭:配置http的報頭
2.前置處理器
用戶參數:給每一個線程賦值,如果運行的線程數大於添加的線程,則循環取值
URL重寫修飾符:登陸后會自動保存服務器返回的sessionid,並且在以后的get請求url后會帶上sessionid的參數來保持會話
3.定時器
固定定時器/高斯定時器
同步定時器:達到了多少個虛擬用戶就一起請求
固定吞吐量定時器:通過暫停/加快線程的請求來保證吞吐量穩定在一個值,當然前提是線程數能夠達到這個吞吐量
4.取樣器:
http請求:這個用的比較多,默認端口80,默認請求方式get,可以添加json或者鍵值對等。。
jdbc請求:填入sql語句,設置查詢結果變量等,不過要先設置jdbc連接配置,添加jar包等
5.后置處理器:
正則表達式提取器:這個要對正則表達式很熟悉,選擇哪個模板($1$第一個模板),匹配數字:-1所有(此時的變量相當於數組),0隨機,正數第幾組值。
Debug Postprocessor:用來調試,可以在正則表達式中查看結果,Jmeter屬性:jmeter.properties中定義的,Jmeter變量:我們自己設置的變量
系統屬性:我們設置的系統變量,如JMETE_HOME等
6.斷言
響應斷言:對響應的各個部分進行斷言,支持正則表達式
size斷言:判斷響應各個部分的大小
7.監聽器
查看結果樹,聚合報告,保存響應到文件(測試下周會用到)
還有第三方的 TPS VS Threads,RT vs Threads
8。函數:
uuid 生成一個隨機的一串,不會重復
time:獲取時間戳
隨機數字,隨機字符串,本機屬性(IP),文件讀取,獲取jmeter屬性等
9.控制器
IF(條件可以使用javascript/beanshell函數去生成) switch(選擇執行那個,從0開始計數) foreach(遍歷數組中的值) loop while 僅一次控制器(一個線程執行一次,不管這個線程循環多少次) 事務控制器(可以把多個請求合到一個事務中) 吞吐量控制器(控制執行次數) 隨機控制器(隨機執行一個請求) 隨機順序控制器(隨機執行,但是每次都全部執行所有請求) 交替控制器(這次執行第一個,下次循環執行第二個)
以上羅列的是我們在進行性能腳本編寫時常用到的一些元件,具體的用法可以自行查閱,當然還有很多元件,Jmeter是一個很重要而且比較復雜的工具,需要一定的編程能力,所有需要我們花時間去學習。