jmeter手動新增cookie及執行緒間cookie共享的2種方法
只要有登入後的cookie內容(可能是session、可能是token),手動設定到cookie管理器中後,呼叫其他的非登入介面將不需要在登入了(除非當前的cookie失效——由session或token的失效時間確定,貌似session的預設失效時間是30分鐘)
那麼,一個執行緒組用於登入並正則匹配到對應的cookie值,並儲存到jmeter全域性屬性中(${__setProperty(sessionTemp,${sessionId},)}),再執行緒組同級別新增http cookie manager,並將jmeter全域性屬性中的cookie內容手動設定好(${__property(sessiontemp,,)}),那麼接下來其他同級的執行緒組可以不用再次登入就可直接呼叫其他介面。
注意:也可以將獲取的cookie值手動新增到另外執行緒組的Http Request Defaults中,達到相同的效果(其他同級的執行緒組可以不用再次登入就可直接呼叫其他介面)。
執行緒間cookie共享方法一:
(1)如我的登入資訊如下:
(2)我的jmeter指令碼如下:
(3)其中jmeter呼叫登入介面的響應結果如下:
(4)其中正則匹配的cookie內容如下:
(5)其中獲取到的cookie設定到jmeter全域性屬性如下:
執行緒間cookie共享方法二:
獲取登入cookie資訊同上,不同點在於:給同級不同的執行緒組新增Http Request Defaults中新增cookie資訊(http頭資訊中手動新增cookie資訊),如下截圖所示:
注意:多執行緒組時,登入優先,即需要執行緒組的執行順序(執行緒組按順序執行),設定測試計劃如下所示:
有關cookie、session、執行緒間共享變數、正則表示式參照: