https://www.cnblogs.com/wuyonghuan/p/7479582.html
應用場景:調用某個接口像數據庫中插入數據,需要在接口調用完成后查看數據更新或插入的數據是否正確的時候需要用到
分兩大部分
第一部分--配置數據庫
- 配置數據庫連接:右鍵“添加>配置元件>JDBC Connection Configuration ”
第二部分--舉例說明查詢請求的使用步驟
- 先添加一個用戶自定義的變量,
- 然后按照下面第二圖的格式填寫變量,這里填寫 的變量名稱是“id” 變量值是“2klakzll4y181221082435273”(不傳參數給sql語句,此步可忽略 )
- 添加數據庫請求:線程組上右鍵依次選擇“添加>取樣器>JDBC Request”
- 在JDBC Request中寫JDBC Request的信息,按照需要填寫 (綠色方框部分比較重要,下方有說明該怎么填)
- Variable Name of Pool declared in Jdbc...:這里填寫JDBC Connection Configuration配置的variable Name of Pool ,如下圖所示 (上面的步驟中有這個配置的)
- 例子中的查詢語句是:SELECT * FROM order_info_116 WHERE id='${id}' ,這里的${id}-- id即第一步中的自定義變量的名稱,${id}表示取到這個變量的值: 2klakzll4y181221082435273
- Result variable name:設置用來保存從數據庫獲取的值的,會以key=value的字符串格式保存,這里填寫的是“SQLresults”,即將查詢結果保存在 SQLresults中,獲取查詢結果具體值的方法:Res= vars.getObject("SQLresults")
- Variable Name of Pool declared in Jdbc...:這里填寫JDBC Connection Configuration配置的variable Name of Pool ,如下圖所示 (上面的步驟中有這個配置的)
- 添加斷言,判斷數據庫查詢結果是否符合預期
- 按照需求編輯斷言腳本,此處以校驗數據庫返回的patient_id字段的值是否等於997479571,等於則斷言成功,不等於則斷言失敗,腳本文件如下(建議先在java編輯器中調試好,再復制過來稍作修改)
說明:
第1行:Result=vars.getObject("SQLresults"); 獲取查詢的所有結果,這里的SQLresults即JDBC請求中的“Result variable name”
第2行:log.info打印出一些信息,便於調試,實際腳本中可不要
第3行:String patientIdActual = Result.get(0).get("patient_id").toString() 取查詢結果中的第1行的patient_id字段的值,轉換成String類型(便於用equals方法比較),存放在patientIdActual中,即實際值
第4行:實際值存放在String 型變量patientidExpected中
第8-13行:根據業務比較實際值和期望值,得到相應的返回 --Failure=false,則斷言為成功,Failure = true 則斷言失敗。