1. 程式人生 > 實用技巧 >jmeter提取登入cookie實現跨執行緒組保持登入

jmeter提取登入cookie實現跨執行緒組保持登入

使用瀏覽器錄製jmeter指令碼,這個不多說了,網上大把教程

http代理伺服器配置(錄製jmeter指令碼):

jmeter提取登入cookie實現跨執行緒組保持登入:

1、新加一個執行緒組,將之前錄製指令碼的執行緒組下的非登入請求全部移動到新執行緒組下

2、開啟一遍執行緒,檢視結果樹裡的登入獲取的cookie以及其他請求使用的cookie

得出結論,其他地方使用的cookie為:

Set-Cookie: SESSION=OTQwMjljOWItN2RiMS00OTFkLTlkNDAtNWMwZDFiZjA5ODdj; Path=/; HttpOnly

SESSION=OTQwMjljOWItN2RiMS00OTFkLTlkNDAtNWMwZDFiZjA5ODdj

3、在登入請求下新增正則表示式提取器

新增後置處理器中的正則表示式提取器

在此處正則表示式填寫根據前一步的得到的結果

Set-Cookie: (.+?); Path=/; HttpOnly

填寫說明:

要檢查的響應欄位:現在是需要從資訊頭中獲取資料,所以現在選中“資訊頭”

引用名稱:下一個請求要引用的引數名稱,如填寫logincookie,則可用${logincookie}引用它。

正則表示式:

    ():括起來的部分就是要提取的。

    .:匹配任何字串。     +:一次或多次。     ?:在找到第一個匹配項後停止。     這裡用到的是Cookie後面的值,所以只需要拿到登入介面返回的cookie中SESSIONID=E19055FDC13C1677B05AAE6C736A4A6E的值就好了

模板:用$$引用起來,如果在正則表示式中有多個正則表示式,則可以是$2$$3$等等,表示解析到的第幾個值給title。如:$1$表示解析到的第1個值

匹配數字:0代表隨機取值,1代表全部取值,通常情況下填0

預設值:如果引數沒有取得到值,那預設給一個值讓它取。

4、設定跨執行緒組引數

新增後置處理器中的BeanShell PostProcessor處理器

parameters:引數填寫和之前填寫一致即可

通過函式對話方塊獲取函式資訊:

往指令碼填充資料

5、其他執行緒組獲取cookie

通過函式對話方塊獲取函式資訊:

往需要登入cookie的請求下的http資訊頭管理器新增cookie選項:

再次執行,即可實現

jmeter提取登入cookie實現跨執行緒組保持登入功能