jmeter 之 BeanShell PostProcessor跨線程全局變量使用


 BeanShell PostProcessor是用戶對一些變量的操作,操作方法很靈活,大概原理是通過parameters傳回來對象,然后在script中對對象進行操作

場景:從登陸接口中獲取token,設置成全局變量讓HTTP Header Manager能獲取到,讓其他所有線程都能拿到這個參數

1.在Test Plan下設置HTTP Header Manager,以及需要用的Header內容

2.建立一個線程放置登陸接口,並提取token設置成全局變量

提取token:

設置全局變量:把上一步提取的token通過Parametres:把需要操作的參數傳遞給Bean Shell PostProcessor。

  • 前面提取出來的token的值,就把參數token寫入Script:  string Token=bsh.args[0];  把Bean Shell PostProcessor接收到的參數值,賦值給某參數。0是第一個值。${__setProperty(requestToken,${Token},)};        調用函數__setProperty,把Bean Shell PostProcessor中的參數Token的值賦值給requestToken,並設置requestToken為jmeter內置屬性。

用函數助手獲取__setProperty:

函數傳送門

再用_P函數來引用:

函數傳送門

這次腳本思路:

登陸只登陸一次獲取token后然后對某個接口進行壓測,對接口進行壓測就要設置線程,頻繁的多余掉去登陸接口會造成資源浪費

 


免責聲明!

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



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