jmeter設(shè)置全局變量在不同線程使用

不得不說jmeter是一個很強大的工具,上手容易/插件多/擴展性強,現(xiàn)在進入正題,接口中參數(shù)需要加密需要獲得token,之前是直接叫開發(fā)把加密校驗關(guān)閉,直接在redis里面導(dǎo)入一批token直接使用,本次是先調(diào)用登陸接口獲取到token再將獲取到的token進行加密,需要的步驟:

? ? 1. 第一個線程,跑通登陸接口

? ? ? ? 1).選擇插件BeanShell PreProcessor,編寫腳本獲取登陸接口中需要加密的sign(因為登陸接口中token為非必傳,所以此處傳入null進行加密):


? ? ? ? 2).添加查看結(jié)果數(shù),查看返回結(jié)果,添加正則表達(dá)式提取器獲取到返回結(jié)果中需要獲取的userToken:


? ? ? ? 3).將獲取到的token設(shè)置為全局變量,方便后續(xù)接口使用,添加后置處理器:BeanShell PostProcessor,特別注意添加第一行代碼(雖然不曉得為嘛要添加,反正經(jīng)過調(diào)試不添加第一段在設(shè)置全局變量時就獲取不到token變量的值):

,

2. 添加第二個線程,業(yè)務(wù)流程接口:

? ? 1). 添加前置處理器BeanShell PreProcessor,編寫接口需要加密的參數(shù),業(yè)務(wù)流程的接口都需要傳入token,token為登陸接口獲取的token,可直接用:${__P(token,)}獲取,請求頭參數(shù):

? ? 3. 設(shè)置完以上信息接口基本就跑通了,在接口請求中添加斷言校驗接口,此處只添加了簡單的響應(yīng)斷言,只要響應(yīng)碼為200就當(dāng)作接口請求通過:

在這個過程中遇到的難點就是在設(shè)置全局變量時一直不能獲取到,在網(wǎng)上查了好多資料照著寫也不能實現(xiàn),后面發(fā)現(xiàn)因為在BeanShell PreProcessor插件里面有一行代碼錯誤導(dǎo)致請求頭里面無法獲取到。

以此記錄設(shè)置全局變量方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容