Jmeter提取token并在不同線程使用

接口測試中,發(fā)送的請求常常是帶token的請求。
首先在登錄系統(tǒng)時會獲得token,然后使用后置處理器中的正則表達式提取token,最后使用BeanShell工具設置全局變量。
這樣就可以在自動調用token了。

  • 觀察響應體內容


    獲取響應體中token.jpg
  • 添加正則表達式提取器


    添加正則式表達式提取器.jpg
  • 正則參數設置
    1引用名稱:就是變量名,調用使用{name} 2**正則表達式**: 用于將需要的數據提取出來,()括號里表示你要的數據,**i(使用方法見之前的文章)** 3**模板**: $$表示你要是用那個正則表達式那個模板獲取的值。-1:表示取所有模板(括號內容)0:表示隨機取模板1:表示取第一個模板2:表示取第二個模板 以此類推:n$:表示取第n個模板
    4匹配數字:-1表示匹配全部值,0表示隨機取值,1表示第一個值,2表示第二個值
    5缺省值:這個如果沒有匹配到,給它定義的一個默認值

    正則式參數設置.jpg

  • 查看提取內容
    如果多個正則你要看你到底調用哪個值來定,這兒待會下面截圖例子一看就明白
    首先添加Debug Sampler:

    添加Bebug Sampler.jpg

    然后點擊啟動,發(fā)生請求,
    在查看結果樹中查看Debug Sampler:
    Debug Sampler中的匹配結果.jpg

    可以看到TOKEN已經被賦值,證明正則式匹配成功。
    Ps:TOKEN_gTOKEN_g0、TOKEN_g1,都是可以被調用的。
    這里因為只匹配到唯一值,所以沒有被迭代。

在此線程內的調用方法${TOKEN}、${TOKEN_g0}等等。

  • 跨線程調用
    以上正則式提取數據的調用只能用于同一線程內,那么跨線程調用,還需要添加BeanShell PostProcessor,設置全局變量。


    添加BeanShell PostProcessor.jpg

    在Script里面寫入其中一段代碼:

//設置全局變量方法1
{__setProperty(token,${TOKEN})}; //將變量TOKEN的值設置為全局變量token
//設置全局變量方法2
String token=vars.get("TOKEN");
props.put("token",token); //設置全局變量
props.get("token"); //提取全局變量

在其他線程中,可以通過${__P(token)}來調用登陸獲取到token了

可以從下圖參考下目錄結構圖及全局變量調取


在其他線程調用全局變量.jpg
微信關注.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,533評論 19 139
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong閱讀 22,933評論 1 92
  • 1 Jmeter安裝配置 使用Jmeter前首先要安裝JDK,配置JDK環(huán)境變量。Jmeter不需要安裝,下載后...
    茶小汐閱讀 3,119評論 0 8
  • 閃著金色輝煌的軀體被帝國侮辱 那些不堪的回憶被揉碎 帶著血的恨被埋在灰燼之下 死亡的頭顱在沒有黎明的黑夜里長眠 這...
    酒鬼匿名詩人閱讀 383評論 0 0
  • 鼓勵,是教養(yǎng)孩子最重要的部分。 一個行為不當的孩子是氣餒的孩子。 我們要認同孩子的難過;我們需要經常提醒自己,我沒...
    Andy媽媽閱讀 247評論 0 0

友情鏈接更多精彩內容