前言
? ? ? ? 今天Darren洋教大家如何使用jmeter中的插件來進行token值的提取與調用,今天Darren洋介紹兩種jmeter提取token值的方式,一種是在當前線程組中直接提取token值,一種是跨線程組的方式進行token值的提取并調用給不同線程組里的HTTP接口使用。
方式一、jmeter提取token設置
? ? ? ? 此方式的缺點為每個線程組內只能又新建一個登錄接口腳本(即每個線程組內必有一個登錄接口腳本),因為此種方式提取到的token值不能跨線程組進行傳輸,故有一定的局限性。
? ? ? ? 定義token值的參數變量。
? ? ? ? 邊界提取器進行邊界值的提取。
? ? ? ? json提取器進行json返回數據的提取并定義好一個變量名,以供HTTP請求頭管理器進行獲取。
? ? ? ? 在HTTP請求接口下添加的HTTP請求頭里面添加定義的變量名,讓該接口獲取到json提取器提取到的token返回值進行令牌授權。
方式二、jmeter提取token設置成全局變量(跨線程組傳token值)
????????此方式的優點為每個線程組內不需要再新建一個登錄接口腳本(即一個.jmx腳本內所有線程組只需有一個登錄接口腳本進行提取token值操作,即可把登錄接口腳本獲取的token提取到后面每一個線程組下的接口中進行令牌授權操作),因此此種方式提取到的token值能夠跨線程組進行傳輸,故更加方便快捷和高效,可進一步縮短jmeter腳本傳輸token的效率。
? ? ? ? 在這種方式下,除了json提取器保持不變外,還要配合beanshell取樣器進行使用,該取樣器就是把json提取器里提取到的token變量進行重新命名包裝,重新命名的變量名隨便取好即可,要與放在下方接口的http請求頭里面的變量名保持一致。
? ? ? ? 在接口下的http請求頭里添加好beanshell取樣器里重新命名好的變量名即可。要記得在線程組里(除第一個線程組)添加固定計時器哦!!!否則當不同線程組中的接口同時進行時,會發生獲取token值不及時的情況。