Jmeter

疯啦吧你發表於2024-05-31
  1. 元件執行順序:

    1.測試計劃:起點

    2.執行緒組:

    3.配置原件

    4.前置處理器:

    5.邏輯控制器:單次請求,迴圈請求,判斷請求

    6.定時器:固定定時器,高斯,隨機

    7.取樣器:請求,http,tcp,jdbc

    8.後置處理器:

    9.斷言:

    10.監聽器:收集測試結果

  2. 作用域

    兄弟節點,父節點,兄弟下的子節點

  3. 關聯介面測試

    上一個介面的返回值,是當前結果的請求引數

  4. 正規表示式提取器

    token為自定義名稱

    正規表示式,確認提取規則

    模板固定

    匹配數字為你想要的match陣列下標

    下一個介面的請求引數值可以填${token},自動帶入。

  5. 測試片段:

    有兩種用法:

    1.測試人員用例互動

    封裝的測試模組,在使用時,選擇include控制器,將此測試片段加入進去,即可一起生成結果樹。

    在使用過程中,即需要登入功能,卻不需要測登入功能,則引入測試片段(一個檔案)

    自己的測試模組封裝成測試片段,只需選擇測試片段,將請求拖入即可。

    2.控制部分測試

    使用模組控制器:

    可以透過模組控制器,控制測試片段,在模組控制器中選擇哪個測試片段則執行哪個測試片段。

    是一種封裝思想。

  6. 使用者定義的變數:

    將可能會修改的值定義到其中,(類似nacos),其實就是配置,常配置量包括埠號,服務網址。

    具體介面使用${port}引用

    注意:Jmeter中是從上到下執行,定義變數一定要放在前面

  7. CSV資料檔案設定:

    測試用例寫在一個csv檔案中(lisi,12345),新建一個CSV資料檔案設定,在其中設定測試用例的變數的格式(如username,pwd),在http請求中,將變數用${username}代替。

    當其中有多組資料時,新增迴圈控制器。

    有多組資料時,用迴圈控制器遍歷裡面的資料。

  8. 斷言:

    在請求下面新增斷言,採用json斷言,取值方式:$.data.xxx,下方填入預期結果。

    預期結果也可寫在csv檔案中,不同資料值不同。

  9. 解決關聯介面問題:

    後置處理器中的Json提取器,提取規則$.data.token

    賦值規則,隨便起名

    整個Jmeter中都可以使用已賦值變數,包括名稱

  10. Jmeter連線資料庫

    測試計劃下,JDBC Connection Configuration,填寫自定義名稱,使用者名稱,密碼,driver class,url

    在測試計劃中,新增jar包。

    線上程組中新增JDBC Request,編寫sql語句,將查詢行與下方命名一一對應。

    斷言時引入變數名稱即可,變數名稱一般為陣列,要加_1。

  11. 隨機抽取資料:

    採用order by rand(),id取${ids_1}

    如果引數中想使用${ids_2}....迴圈10次

    引用計數器,寫引用名稱n。

    但是兩個變數無法直接拼接,需要用到__V函式,在最上方工具中,他會告訴你最終格式。

    例:${__V(ids_${n})}
    
  12. 除錯取樣器:

    遇到問題時使用,出現全部變數資訊。

  13. 加密介面

    將入參和出參全部使用演算法進行加密。

    客戶端一開始並不知道怎麼加密,它先傳送一次請求到服務端。

    不安全是因為,證書機構是公開的,駭客可以偽造客戶端獲取加密演算法,不安全。

    外專案訪問我們的介面,需要給他一段金鑰,我們將這個金鑰記錄到資料庫中,首先驗證格式。呼叫我們介面,

  14. Jmeter測試加密介面

    新增http請求,訪問https://www.lddgo.ne,獲取加密後的值。

    再呼叫介面。

相關文章