jmeter常見組件:
1、測試計劃:描述一次性能測試所有場景設計,包含此次測試所有相關的功能,所有的測試內容都是基于一個測試計劃
2、線程組:一個測試場景
線程組中包含:
配置元件-http默認請求(作用:設置的參數會作用于范圍內的所有請求)
配置元件-cookies管理? (作用:管理測試計劃運行時的所有cookies,可以手動存儲:可手動挨個導入,也可導入文件,之后的所有請求都會帶上cookies,也可自動存儲:自動記錄每一個請求所產生的cookie,在后邊的同源站點進行請求時都可以使用對應的cookie并發送,需要自動存儲收集到 的cookie,你需要修改JMeter.property:CookieManager.save.cookies=true;)
配置元件-header管理? ? (作用:設置的頭信息會作用于范圍內的所有請求)
取樣器-http請求
取樣器:
斷言(響應斷言,數據包大小斷言,持續時間斷言,比較斷言)
響應斷言:
匹配模式:包括:可以直接填想要匹配的文本或正則表達式,匹配:相當于 equals 。當返回值固定時,可以返回值做斷言,效果和equals相同 ;也可用正則表達式匹配返回結果,但必須全部匹配整個返回值,而不是返回值的一部分。字符串:和包括差不多,包含指定的字符串,但不能填正則匹配式。否:輸出執行結果的反義
前置處理器(用戶參數:設置一個變量多個線程不同取值,正則匹配式的用戶參數:以正則的方式設置,HTML鏈接解析器:用于篩選出前一請求返回的HTML頁面中的鏈接,HTTP URL重寫修飾符:使用url重寫來存儲sessionId,JDBC預處理程序:將查詢數據庫中的內容作為變量值后續使用,beanshell預處理程序:使用一段Java代碼對變量進行處理,在之后的取樣器中使用,可用于加解密)
JDBC前置處理:(還有一個JDBC前置請求功能也是一樣的)
在此之前需要添加一個JDBC連接池:
database url:jdbc:mysql://數據庫IP:端口/數據庫名?數據庫連接設置(可沒有)
diver class:com.mysql.jdbc.Driver
Variable names:設定此項可以獲取固定列的所有值;
Result variable name:隨意設定一個名稱,則此名稱會被作為一個參數并對應Query出來的內容;可以使用參數調用的方法來獲取此設置的名稱對應的值;
后置處理器(json提取器:作用是可以將上一請求的響應值傳遞給下一請求從字段名提取,正則表達式提取器:作用是可以將上一請求的響應值傳遞給下一請求從值提取,邊界提取器,JDBC后置處理程序:請求發送后需要查詢的數據,結果狀態處理器:定義取樣器出現錯誤時的處理,beanshell后置處理程序:使用一段Java代碼對變量進行處理,在之后的取樣器中使用,可用于加解密)
json提取器
正則表達式提取器
邊界提取器:
配置元件(CSV數據文件設置:作用是設置變量從CSV文件中取值)
4、測試活動:延遲或停止目標取樣器,一般可放在兩取樣器或線程組之間用于延遲/停止發送下一請求
其中可包含定時器
5、監控器(包含:查看結果樹,可將結果文件導出為XML,CSV,XLT。斷言結果,也可將結果文件導出為XML,CSV,XLT。聚合報告。匯總報告)