通過調用接口,對服務器產生壓力,單接口測試,會遇到響應數據返回的是要求先登錄。這是我們在調用這個接口時,根據業務邏輯,必須先登錄才可以,比如:提交訂單,那么就需要先獲取用戶登錄的JSESSIONID,然后再把該JSESSIONID作為提交訂單接口的請求頭信息。
下面詳細介紹下,在jmeter上如何實現提取登錄JSESSIONID。有兩種方法:
方法一、用正則表達式提取器從登錄的響應數據中提取JSESSIONID,然后在需要攜帶JSESSIONID的請求下面添加http cookie管理器,把提取到的JSESSIONID參數化進來。
1、首先在登錄請求下添加后置處理器--正則表達式提取器,根據具體的響應數據,寫正則表達式去提取。
提取到的結果是否正確,添加Debug PostProcessor,去調試。
正則表達式提取器頁面解釋:
引用名稱,就是后面要實際引用到的名稱,可以自己定義。
正則表達式的寫法,其中
. 表示匹配任意字符串
* 表示匹配任意多次
? 表示找到匹配項就停止
模板,就是上面的正則表達式中想要提取哪個內容(可能會有多個正則表達式),$1$表示提取第一個括號里的內容。
匹配數字,就是匹配到的第幾項,0代表隨機,-1代表匹配到的全部項,1代表匹配到的第一項,2代表匹配到的第二項,以此類推
2、在具體需要攜帶JSESSIONID的請求下面添加“HTTP Cookie 管理器”,然后把從登錄中獲取到的JSESSIONID參數化進來。如圖:
這樣就可以成功的發送短信了,不會再出現先登錄的情況了。
方法二、不用提取器提取JSESSIONID,直接在線程組下面添加 HTTP Cookie 管理器,但是需要在配置文件中把相關的那段代碼取消注釋,讓其起作用。
1、首先在配置文件中,把下面這句代碼的注釋去掉,保存文件,重啟jmeter.
2、在線程組下面,添加配置元件-http cookie管理器,就可實現。