有時我們需要驗(yàn)證所測試的接口是否修改了數(shù)據(jù)庫中的一些字段,可以通過Jmeter的JDBC ConnectionConfiguration來實(shí)現(xiàn)
本文針對鏈接SQLServer數(shù)據(jù)庫進(jìn)行講解,其他的數(shù)據(jù)庫連接方式參考Jmeter的官方文檔
http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration
一、JDBC Connection Configuration
【添加】-【配置元件】-【JDBC Connection Configuration】
注:在jmeter的lib文件夾下,加入對應(yīng)的jar包:sqljdbc4.jar
二、填寫配置信息
這里注意Variable Name的命名,作用會在下面介紹
jdbc:sqlserver://數(shù)據(jù)庫的IP[:端口];DatabaseName=數(shù)據(jù)庫名
com.microsoft.sqlserver.jdbc.SQLServerDriver
三、Sampler-JDBC Reques
【添加】-【配置元件】-【Sampler-JDBC Reques】,編輯JDBC Request 信息,
1.Variable Name同JDBCConnection Configuration的Variable Name
2.SQL Query
Query Type:這里我們是查找的sql,所以選擇【Select Statement】
Query:填寫sql語句,結(jié)尾不能加“;”
3.[SQL Query]Variable Names:查詢出字段值存入這些變量中
4.Result Variable Name:查詢出字段值存入數(shù)組變量sodetails中
四、驗(yàn)證輸出
這里我們還是用BSFSampler驗(yàn)證,選擇javascript腳本語言,輸入腳本如下
java.lang.System.out.println("--------------------");
for (var i=0;i<1;i++){
//取出數(shù)據(jù)庫查詢結(jié)果集數(shù)組sodetails的第i行列名為SOID的值
var soid =
vars.getObject("sodetails").get(i).get("SOID");
var sostatus =
vars.getObject("sodetails").get(i).get("Status");
java.lang.System.out.println("SOID=" + soid + "---Sostatus=" +
sostatus);
}