Jmeter跨線程組獲取token(徹底解決因格式token報錯)


將token設置為全局變量網上方式方法千千萬,但是你就是獲取token會失敗,不是提示格式錯誤,就是提示無法獲取token,沒安裝Jmeter的可以查看前兩期教程,有詳細介紹

在工作當中如果僅僅是一個線程組肯定是無法滿足使用需求的,那么我們會使用多個線程組進行工作,這里不得不提及一個名詞叫:全局變量 。

一、觀察並獲取token 

1、當我們登陸成功以后進行觀察,會發現token的存在,提取token有兩種格式(分別是:正則表達式提取,JSON格式提取)根據個人愛好吧,我一般喜歡正則因為平時接觸的比較多

2、創建正則提取器,選擇生成token的請求--添加-- 后置處理器--正則表達式;

(匹配數字一般為1,博主這里比較懶直接省略不寫了,不要問正則為什么這樣寫,因為這是最最最基本的你們可以直接抄寫就好了,實在很好奇可以進入廖雪峰的博客下進行系統學習一下,但是這個模板是固定的就是$1$,其中的1便是獲取第一個token值)

 3、創建完正則后我們需要校驗一下,是否提取成功了,可以創建調試取樣器 Debug sampler

(選中線程組--添加--取樣器--Debug sampler )

4、查看結果如下圖則算是成功了

二、將token設置為全局變量

 1、上一步我們講解的是采用正則的方式提取的token,這一步是將提取的token進行設置為全局變量;首先創建BeanShell后置處理器,路徑如下圖:

 

 3、打開函數助手,找到_setProperty函數,填寫要設置的全局變量名稱和要將哪個變量設置為全局變量,直接復制函數助手生成的函數字符串到BeanShell PostProccessor中,也可以BeanShell后置處理器中填寫參數:${__setProperty(newtoken,${g_token})};  其中g_token為token提取器中引用的名稱,一定要保持一致;

三、調用全局變量token

1、在計划下面進行調用全局變量,${__property(newtoken)} 或 ${__P(newtoken)}   (一定要注意不要馬馬虎虎的將名稱或則格式寫錯,最容易出錯的地方就是這里了,越是簡單的地方約容易被大意忽略)  第二行(有些版本不適用,為避免出錯可以不用填寫)的格式根據需求可以在抓包中有體現,抓包工具大家可以看前面兩張的fiddler 或者開發者抓包即可;

 

 總結一下:講到這里已經就接近尾聲了,后面創建的線程組中皆可調用全局的token,如果有畫蛇添足的非要在每一個線程組中加一個http請求頭管理器也是可以的,但是一定要將http請求頭管理器的參數寫正確,別給蛇畫個半只足就難看了;(目前很多文章都有誤導性作用)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM