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后然后對某個接口進行壓測,對接口進行壓測就要設置線程,頻繁的多余掉去登陸接口會造成資源浪費