使用瀏覽器錄制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實現跨線程組保持登錄功能