日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

executequery方法_【接口测试】soapui中数字、字符串、日期时间、数据库连接参数化的设置方法...

發(fā)布時間:2025/3/21 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 executequery方法_【接口测试】soapui中数字、字符串、日期时间、数据库连接参数化的设置方法... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先回顧下前幾篇soapui工具操作文章:

在soapui里面使用groovy腳本生成測試報告的方法

在soapui里面用groovy傳遞cookie身份信息的方法

soapui中進行接口響應(yīng)數(shù)據(jù)的關(guān)聯(lián)設(shè)置方法

如果想要批量運行測試所需的接口,那么在測試過程中,我們可能會因為提交的數(shù)據(jù)問題導(dǎo)致測試中斷或者失敗,那么如何靈活和動態(tài)的處理測試請求中的靜態(tài)數(shù)據(jù)呢?這里就需要使用各種參數(shù)化的方法了。
參數(shù)化我分為兩個大分類,一類是使用腳本來生成變動的數(shù)字、字符串、日期等值,另一類是直接從數(shù)據(jù)庫中讀取已有的內(nèi)容。

第一類,隨機數(shù)字、隨機字符串、當(dāng)前日期時間的生成。

1. 隨機數(shù)字:

因為groovy是基于JVM的開發(fā)語言,所以可以在groovy腳本中借用java的方法,例如隨機整數(shù)nextInt(),我們可以在需要參數(shù)化的數(shù)據(jù)位置,將數(shù)據(jù)替換成${=new Random().nextInt(1000)}來隨機0-999的整數(shù)

2. 隨機字符串:
字符串因為不能直接生成,所以需要借助到groovy scripts腳本工具,

我們先在要測試的接口測試用例中,新建一個groovy scripts,然后給它重命名為randomStr

然后開始編輯groovy腳本:

先設(shè)置可能需要的大小寫英文和數(shù)字,用字符串保存起來
String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

然后創(chuàng)建隨機
Random random=new Random()

用StringBuffer類來定義可被修改字符串

StringBuffer sb=new StringBuffer()

隨機10次,每次隨機一個數(shù)字,然后用這個隨機數(shù)字當(dāng)做下標(biāo)在字符串中取個字符出來,將取出來的這個單個字符添加到可修改字符串中
for(int i=0;i<=10;i++){

def num = random.nextInt(62)

sb.append(str.charAt(num))

}

最后將值返回出去

return sb.toString()

每次執(zhí)行腳本之后,隨機的字符串會被返回到這個腳本外的自定義屬性中保存起來

最后在腳本中使用${腳本名#result}就可以調(diào)用這個返回出來的隨機字符串了

3. 當(dāng)前時間
我們可以使用${=new Date().time.toString().substring(0,10)}來獲取當(dāng)前時間的毫秒數(shù)

也可以通過${=Calendar.getInstance().get(Calendar.YEAR)+'-'+Calendar.getInstance().get(Calendar.MONTH)+'-'+Calendar.getInstance().get(Calendar.DATE)}來獲取當(dāng)前時間的年月日等信息值

上面三個是最常用的參數(shù)化方法,如果想要使用已有的數(shù)據(jù)來操作,就只能連接數(shù)據(jù)庫了。

首先,我們需要一個連接數(shù)據(jù)庫的jar包,我這里下載的是mysql-connector-java-5.1.48.jar的文件,將這個文件復(fù)制到soapui的lib文件夾下面

然后在要測試的接口上面,新增一個groovy腳本,我給它重命名為,connectMysql,編輯這個腳本,寫入如下的內(nèi)容:

用groovy來執(zhí)行連接數(shù)據(jù)庫和查詢數(shù)據(jù)的操作

先導(dǎo)入數(shù)據(jù)庫連接的模塊
import java.sql.*

定義數(shù)據(jù)庫的連接驅(qū)動名
def JDBC_DRIVER = "com.mysql.jdbc.Driver"

定義自己的數(shù)據(jù)庫連接地址
def DB_URL = "jdbc:mysql://數(shù)據(jù)庫地址:端口號/庫名"

定義自己數(shù)據(jù)庫的用戶名和密碼

def USER = "你的數(shù)據(jù)庫用戶名"

def PASS = "用戶名對應(yīng)的密碼"

定義數(shù)據(jù)庫的連接變量
Connection conn = null

定義操作sql語句的對象
Statement stmt = null

連接數(shù)據(jù)庫

Class.forName(JDBC_DRIVER)

conn = DriverManager.getConnection(DB_URL,USER,PASS)

stmt = conn.createStatement()

定義你自己的sql語句

String sql = "select 列 from 表名"

獲取查詢的所有結(jié)果

ResultSet rs = stmt.executeQuery(sql)

查看數(shù)據(jù)庫執(zhí)行結(jié)果的第一行信息
rs.next()

根據(jù)查詢的列名來獲取數(shù)據(jù)
def id= rs.getString('列名')

最后按順序關(guān)閉結(jié)果、查詢、連接
rs.close()

stmt.close()

conn.close()

將獲取到的值返回出去

return id

執(zhí)行完這個腳本,你要查詢的值會被寫入到該腳本的Custom Properties中

最后,在你的接口請求參數(shù)位置,使用${腳本名#字段名}就可以引用它了,這樣便能隨時從數(shù)據(jù)庫中取數(shù)據(jù)來操作了

感謝大家花時間耐心的看完這么長的文檔,希望對你們有所幫助。

soapui中數(shù)字、字符串、日期時間、數(shù)據(jù)庫連接參數(shù)化的設(shè)置方法?mp.weixin.qq.com

總結(jié)

以上是生活随笔為你收集整理的executequery方法_【接口测试】soapui中数字、字符串、日期时间、数据库连接参数化的设置方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。