2

本质上,我使用 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
4

1 回答 1

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
于 2013-03-04T09:49:38.210 回答