Stored procedures Soapui测试步骤groovy脚本调用存储过程并返回结果
我正在使用soapui5.1.3 groovy脚本测试步骤执行一个MS SQL存储过程“find”,其中begin、end和id参数作为存储过程的输入 下面是我的语法,我想打印列名为“empName”的所有行。但当我执行下面的语法时,得到的结果值为0 任何人都可以帮助正确的语法吗 def result = sql.call("{call find @begin = '01/01/2016 10:00' @end = '01/02/2016 10:00', @id = '1'}") log.info(result) def result=sql.call(“{call find@begin='01/01/2016 10:00'@end='01/02/2016 10:00',@id='1'}”) 日志信息(结果)Stored procedures Soapui测试步骤groovy脚本调用存储过程并返回结果,stored-procedures,groovy,soapui,Stored Procedures,Groovy,Soapui,我正在使用soapui5.1.3 groovy脚本测试步骤执行一个MS SQL存储过程“find”,其中begin、end和id参数作为存储过程的输入 下面是我的语法,我想打印列名为“empName”的所有行。但当我执行下面的语法时,得到的结果值为0 任何人都可以帮助正确的语法吗 def result = sql.call("{call find @begin = '01/01/2016 10:00' @end = '01/02/2016 10:00', @id = '1'}") log.inf
您可以按如下方式进行操作:
def rowsAffected = sql.call("{call find('01/01/2016 10:00','01/02/2016 10:00','1')}")
println rowsAffected
或者,传递参数:
def rowsAffected = sql.call("{call find(?,?,?)}",['01/01/2016 10:00','01/02/2016 10:00','1'])
println rowsAffected
但是,如果您希望获得一些结果,而不是只查看受影响的行,则可以执行以下操作:
sql.call("{? = call find(?,?,?)}", [Sql.VARCHAR, '01/01/2016 10:00','01/02/2016 10:00','1'],
{ empName->
println empName
})
在最后一个示例中,请注意params数组中的第一个元素是返回变量的类型,我假设它是VARCHAR
,但如果过程
返回不同的类型,则会相应更改
看一看,因为有很好的样品
注意:若要将其与SOAPUI一起使用,请记住将数据库供应商特定的库放在
$SOAPUI\u HOME/bin/ext
文件夹中,然后重新启动SOAPUI以加载DB.jar。请检查链接,看看是否有帮助。@ahs您可以共享存储过程吗?