二、Jmeter 后置處理器(BeanShell PostProcessor)


1、新建JDBC Request,如下圖所示:

重要的參數說明:

  • Variable Name:數據庫連接池的名字,需要與JDBC Connection Configuration的Variable Name Bound Pool名字保持一致
  • Query:填寫的sql語句未尾不要加“;”
  • Parameter valus:參數值
  • Parameter types:參數類型,可參考:Javadoc for java.sql.Types
  • Variable names:保存sql語句返回結果的變量名
  • Result variable name創建一個對象變量,保存所有返回的結果
  • Query timeout:查詢超時時間
  • Handle result set:定義如何處理由callable statements語句返回的結果

 

  • 設置查詢結果變量名稱:Result variable name:user_name

2、JDBC request下添加后置處理器,BeanShell PostProcessor,通過腳本操作變量

 

接下來,在另一個接口中的參數可以通過jmeter的內部函數獲取指定的值

${__BeanShell(vars.getObject("user_login").get(${__intSum(${index},-1)}).get("method"))}

__BeanShell是jmeter內部函數入口

vars.getObject可以獲取到jmeter上下文中我們定義的變量對象

數據庫的獲取方式${__BeanShell(vars.getObject("param").get(n).get("colname"))}

__intSum(a,b)獲取一個數據的計算求和值

數據庫獲取第一行下標是從0開始的,但一般我們取值會默認設置1作為開始,所以這里我們做了一個處理,把我們設置的值減1,讓他從0開始計數。從列取值要指定列名;

 

3、舉例說明:

counts = vars.getObject("user_name").size();
var users = vars.getObject("user_name");
var user = users.get(2);
vars.put("username",user.get("account").toString());
vars.put("password",user.get("passwd").toString());
vars.put("hello","word");

 

 


免責聲明!

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



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