jmeter如何設置全局變量


場景:性能測試或者接口測試,如果想跨線程引用(案例:A線程組里面的一個輸出,是B線程組里面的一個輸入,這個時候如果要引用),這個時候你就必須要設置全局變量;全鏈路壓測也需要分不同場景,通常情況,一個場景就是一個線程組;

實現方法:beanshell腳本和函數助手_setPerproty,目前這種方法都可以跨線程的全局變量;

操作流程如下:beanshell腳本如下:

  1.  輸出結果的處理,使用方法正則、json提取器或者json/yaml,提取的教程這里就不需要贅述,等我有空專門或者你們百度去

     

  2. 提取的數據后面加上beanshell后置處理器,腳本如下

    String userId=bsh.args[0];
    //print (token);
    ${__setProperty(newtoken,${token},true)}

  3. 全局變量設置了就需要引用了,這里我就講述2種引用方法,第一個很簡單,在另外一個線程組對應的參數后面,直接把上述全局的前部分拿來就用,即${__setProperty(newtoken,)};還有一種就是使用__P函數,${__P(newtoken,0000)},0是默認值,都是可以調用;

還有另外一種方式設置全局變量:

  1. 增加beanshell sampler,在需要提取的請求后面;
  2. 打開函數助手:Ctrl+shift+f1;找到setProperty函數,填寫設置變量名稱和將那個變量設置為全局變量:第一個值是下一個線程引用的名稱,第二個值是被設置全局的變量,第三個是默認值;

    3.將函數助手生成的腳本,復制粘貼在步驟1里面;${__setProperty(newtoken,{token},0000)}

    3.引用的方法和上面的一樣,沒有什么區別

 


免責聲明!

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



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