executequery方法_【接口测试】soapui中数字、字符串、日期时间、数据库连接参数化的设置方法...
先回顧下前幾篇soapui工具操作文章:
在soapui里面使用groovy腳本生成測試報告的方法
在soapui里面用groovy傳遞cookie身份信息的方法
soapui中進行接口響應數據的關聯設置方法
如果想要批量運行測試所需的接口,那么在測試過程中,我們可能會因為提交的數據問題導致測試中斷或者失敗,那么如何靈活和動態的處理測試請求中的靜態數據呢?這里就需要使用各種參數化的方法了。
參數化我分為兩個大分類,一類是使用腳本來生成變動的數字、字符串、日期等值,另一類是直接從數據庫中讀取已有的內容。
第一類,隨機數字、隨機字符串、當前日期時間的生成。
1. 隨機數字:
因為groovy是基于JVM的開發語言,所以可以在groovy腳本中借用java的方法,例如隨機整數nextInt(),我們可以在需要參數化的數據位置,將數據替換成${=new Random().nextInt(1000)}來隨機0-999的整數
2. 隨機字符串:
字符串因為不能直接生成,所以需要借助到groovy scripts腳本工具,
我們先在要測試的接口測試用例中,新建一個groovy scripts,然后給它重命名為randomStr
然后開始編輯groovy腳本:
先設置可能需要的大小寫英文和數字,用字符串保存起來
String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
然后創建隨機
Random random=new Random()
用StringBuffer類來定義可被修改字符串
StringBuffer sb=new StringBuffer()
隨機10次,每次隨機一個數字,然后用這個隨機數字當做下標在字符串中取個字符出來,將取出來的這個單個字符添加到可修改字符串中
for(int i=0;i<=10;i++){
def num = random.nextInt(62)
sb.append(str.charAt(num))
}
最后將值返回出去
return sb.toString()
每次執行腳本之后,隨機的字符串會被返回到這個腳本外的自定義屬性中保存起來
最后在腳本中使用${腳本名#result}就可以調用這個返回出來的隨機字符串了
3. 當前時間
我們可以使用${=new Date().time.toString().substring(0,10)}來獲取當前時間的毫秒數
也可以通過${=Calendar.getInstance().get(Calendar.YEAR)+'-'+Calendar.getInstance().get(Calendar.MONTH)+'-'+Calendar.getInstance().get(Calendar.DATE)}來獲取當前時間的年月日等信息值
上面三個是最常用的參數化方法,如果想要使用已有的數據來操作,就只能連接數據庫了。
首先,我們需要一個連接數據庫的jar包,我這里下載的是mysql-connector-java-5.1.48.jar的文件,將這個文件復制到soapui的lib文件夾下面
然后在要測試的接口上面,新增一個groovy腳本,我給它重命名為,connectMysql,編輯這個腳本,寫入如下的內容:
用groovy來執行連接數據庫和查詢數據的操作
先導入數據庫連接的模塊
import java.sql.*
定義數據庫的連接驅動名
def JDBC_DRIVER = "com.mysql.jdbc.Driver"
定義自己的數據庫連接地址
def DB_URL = "jdbc:mysql://數據庫地址:端口號/庫名"
定義自己數據庫的用戶名和密碼
def USER = "你的數據庫用戶名"
def PASS = "用戶名對應的密碼"
定義數據庫的連接變量
Connection conn = null
定義操作sql語句的對象
Statement stmt = null
連接數據庫
Class.forName(JDBC_DRIVER)
conn = DriverManager.getConnection(DB_URL,USER,PASS)
stmt = conn.createStatement()
定義你自己的sql語句
String sql = "select 列 from 表名"
獲取查詢的所有結果
ResultSet rs = stmt.executeQuery(sql)
查看數據庫執行結果的第一行信息
rs.next()
根據查詢的列名來獲取數據
def id= rs.getString('列名')
最后按順序關閉結果、查詢、連接
rs.close()
stmt.close()
conn.close()
將獲取到的值返回出去
return id
執行完這個腳本,你要查詢的值會被寫入到該腳本的Custom Properties中
最后,在你的接口請求參數位置,使用${腳本名#字段名}就可以引用它了,這樣便能隨時從數據庫中取數據來操作了
感謝大家花時間耐心的看完這么長的文檔,希望對你們有所幫助。
soapui中數字、字符串、日期時間、數據庫連接參數化的設置方法?mp.weixin.qq.com總結
以上是生活随笔為你收集整理的executequery方法_【接口测试】soapui中数字、字符串、日期时间、数据库连接参数化的设置方法...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle日期相减工作日_Oracle
- 下一篇: 60秒计时器的仿真电路_物联网应用基于A