基本上,我正在使用SoapUI进行一些冒烟测试,并创建了一个断言脚本,用于检查SQL数据库中是否有数据。
此测试必须在三个不同的环境中运行,每个环境都有各自的数据库凭据。
我想要做的是在测试类中创建一个自定义属性(或一组自定义属性),它包含三组数据库信息,以便测试人员可以简单地选择他们正在测试的环境,而不是必须更改硬编码的断言脚本。
代码:
import groovy.sql.Sql
import oracle.jdbc.driver.OracleDriver
def con = Sql.newinstance('"server", "user",
"pass", "oracle.jdbc.driver.OracleDriver"')
def res = con.rows("select * from table1 where message_in = 'Bang'")
log.info(res[0])
con.close()
assert res[0] != null
答案 0 :(得分:1)
首先应创建全局变量,为此请执行以下步骤:
在为数据库连接创建变量后,您可以在groovy脚本中访问它们,如下所示。
import groovy.sql.Sql
import oracle.jdbc.driver.OracleDriver
def dbServer = context.expand( '${#Project#dbServer}' )
def dbUser = context.expand( '${#Project#dbUser}' )
def dbPass = context.expand( '${#Project#dbPass}' )
def con = Sql.newinstance('dbServer, dbUser,
dbPass, "oracle.jdbc.driver.OracleDriver"')
def res = con.rows("select * from table1 where message_in = 'Bang'")
log.info(res[0])
con.close()
assert res[0] != null