天天看點

如何在jmeter中把響應中的資料提取出來并引用

如何在jmeter中把響應中的資料提取出來并引用

jmeter做接口測試過程中,經常遇到請求需要用到token的時候,我們可以把傳回token的接口用後置處理器提取出來,但是在這種情況下,隻能适用于目前的線程組,其他線程組無法引用到提取的token變量值,是以必須要生成全局變量讓測試計劃下的所有線程組都可以引用變量。

同一個線程組下提取token并引用

1、執行擷取token接口(登入接口),在檢視結果樹這裡,使用$符号提取token值

. 根節點, .根節點, .根節點,.data.token 表示提取根節點下的data節點下的token節點的值

如何在jmeter中把響應中的資料提取出來并引用

2、使用json提取器,提取登入接口響應結果中的access_token,儲存在變量token中

變量路徑就是把在結果樹提取的路徑寫上

如何在jmeter中把響應中的資料提取出來并引用

3、可以使用調試取樣器檢視提取的token值是否正确

如何在jmeter中把響應中的資料提取出來并引用

4、下一個接口(清單查詢接口)中,需要使用上個登入接口傳回的token值,使用${token}引用

如何在jmeter中把響應中的資料提取出來并引用

不同線程組下提取token并引用

1、使用json提取器提取登入接口響應結果中的access_token,儲存在變量token中,操作與上文提到的一樣。

2、使用函數助手對話框的setProperty函數,有兩個輸入框要填寫(屬性名稱和Value of property),屬性名稱填寫一個全局變量名,Value of property填寫json提取器提取的access_token(json提取器提取到的access_token指派給了變量token,此處引用變量${token}得到)

如何在jmeter中把響應中的資料提取出來并引用

3、在json提取器下添加一個後置處理器BeanShell PostProcessor;

如何在jmeter中把響應中的資料提取出來并引用

4、把生成的setProperty函數(KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty(ne…{token},)})複制到BeanShell PostProcessor中,此時已經把接口需要用到的access_token生成了并儲存在全局變量new_token中。

如何在jmeter中把響應中的資料提取出來并引用

5、引用該全局變量有兩種方式

(1)使用函數助手中的property函數,隻填寫屬性名稱對應的輸入框:全局變量名new_token

如何在jmeter中把響應中的資料提取出來并引用

把生成的結果填寫到清單查詢接口需要引用的地方

如何在jmeter中把響應中的資料提取出來并引用

(2)使用函數助手中的P函數,隻填寫屬性名稱對應的輸入框:全局變量名new_token

如何在jmeter中把響應中的資料提取出來并引用

把生成的結果填寫到清單查詢接口需要引用的地方

如何在jmeter中把響應中的資料提取出來并引用

總結

KaTeX parse error: Expected group after '_' at position 2: {_̲_setProperty()}…{__property()}/${__P()}一起配合使用,setProptety等于把值拿出來,

__property/__P 對值進行使用

__P是__property函數的簡化版,舉個例子:KaTeX parse error: Expected group after '_' at position 2: {_̲_P(prop1)}會傳回屬性…{__P(prop1,123)} 會傳回屬性prop1的值,如果prop1未定義值,則傳回123;

__property和__P之間的差別:用法上__property函數僅僅是比__P函數多了一個可以存值的變量,舉個__property用法例子:${__property(pro,var,abcd)}會傳回pro的值,如果pro未定義值則會傳回abcd,同時會将pro的值存到變量var中

注意事項

如果遇到跨線程組調用參數值不是token值而是變量名時且登入接口能夠正常使用的情況下,請檢查線程組設定

如何在jmeter中把響應中的資料提取出來并引用

原因:如果不設定此項,會導緻jmeter測試計劃下所有添加的線程組同步運作,導緻token還沒擷取出來就已經在調用了,導緻擷取值時出現錯誤

最後:如果你平時有很多問題想要解決,你的測試職業規劃也需要一點光亮,你也想跟着大家一起分享探讨,我給你
推薦一個「軟體測試學習交流群:746506216」 你缺的知識這裡有,你少的技能這裡有,你要的大牛也在這裡……
           

資源分享【這份資料必須領取~】

下方這份完整的軟體測試視訊學習教程已經上傳CSDN官方認證的二維碼,朋友們如果需要可以自行免費領取

【保證100%免費】

如何在jmeter中把響應中的資料提取出來并引用
如何在jmeter中把響應中的資料提取出來并引用