參數(shù)關(guān)聯(lián)有什么用?
一個(gè)接口的響應(yīng)信息中的某個(gè)字段值,是下個(gè)接口的響應(yīng)信息中的某個(gè)字段值,這時(shí)候就需要用到參數(shù)關(guān)聯(lián)來(lái)處理這個(gè)值。
應(yīng)用場(chǎng)景
比如說(shuō)一個(gè)商城系統(tǒng),下訂單請(qǐng)求時(shí),會(huì)返回個(gè)訂單號(hào)或者其它憑證,當(dāng)支付請(qǐng)求時(shí)會(huì)對(duì)這個(gè)訂單號(hào)或其它憑證進(jìn)行校驗(yàn)。所以支付請(qǐng)求需要帶上下訂單請(qǐng)求響應(yīng)數(shù)據(jù)中的訂單號(hào)或其它字段值,這時(shí)候就可以使用參數(shù)關(guān)聯(lián)來(lái)提取和獲取
Jmeter處理參數(shù)關(guān)聯(lián)
Jmeter的參數(shù)關(guān)聯(lián)其實(shí)是參數(shù)在不同的采樣器(sampler)的存儲(chǔ)和傳遞。提供了兩種方式:后置處理器-正則表達(dá)提取器、jsr223 postprocessor
一、正則表達(dá)提取器
- 1、選擇正則表達(dá)提取器(添加在第一個(gè)請(qǐng)求)
- 界面參數(shù)和介紹:
模板字段的值:
$-1$:表示取所有值
$0$:表示隨機(jī)取值
$1$:表示取第1個(gè)
$2$:表示取第二個(gè)
以此類推:$n$:表示取第n個(gè)
對(duì)應(yīng)的正則規(guī)則:
- 2、一個(gè)需要根據(jù)cookies驗(yàn)權(quán)的請(qǐng)求,去使用正則表達(dá)提取器拿到的登錄請(qǐng)求響應(yīng)數(shù)據(jù)中token字段的值(${變量名}):
結(jié)果:獲取到token值并通過驗(yàn)證
ps.如果獲取不到值,則檢查下正則是否寫錯(cuò)了、需要的響應(yīng)字段拿錯(cuò)了或者變量名寫錯(cuò)了等原因
- 3、檢查正則是否正確:
在設(shè)置了正則表達(dá)提取器的請(qǐng)求下,添加查看結(jié)果樹,然后勾選“Regular exp”(也可以百度搜索在線正則檢查網(wǎng)站)
內(nèi)容拓展:
https://www.cnblogs.com/VashGu927/p/7640447.html
二、jsr223 postprocessor
沒使用過,不敢亂寫。找到的博文:
https://blog.csdn.net/Chris_111X/article/details/79639937