如何提取DB值并将其与soap响应进行比较

时间:2012-07-12 20:33:24

标签: soapui

我的功能是测试我发送移动运营商的时间,它应该返回与该运营商相关的充值值列表。

  1. 我可以使用JDBC请求检索数据库值
  2. 我正在通过充值值列表获得成功回应。
  3. 这里我想测试响应实际上只包含来自数据库的值。如何测试?有什么想法..请告诉我。

    由于 钱德拉

2 个答案:

答案 0 :(得分:4)

你可以使用groovy脚本:

import com.eviware.soapui.support.GroovyUtils
import groovy.sql.Sql

//those are feched from testsuite properties
def dbUrl=context.expand('${#TestSuite#Url}')
def dbUser=context.expand( '${#TestSuite#User}' )
def dbPass=context.expand( '${#TestSuite#Pass}' )
def dbDriver=context.expand( '${#TestSuite#Driver}' )

def db = Sql.newInstance(dbUrl, dbUser, dbPass, dbDriver)

def dbValues = db.rows("SELECT A, B, C from TABLE ")
//is only one row?
assert dbValues.size == 1

def valueA = dbValues[0].A

//more asserts

答案 1 :(得分:0)

您可以创建JDBC步骤,然后单击从顶部添加属性(+)。 然后在“名称”列下输入任何名称,然后单击“值”字段,并使用“获取数据”右键单击选项从“响应”中检索数据。

现在通过提供配置详细信息和驱动程序,连接字符串详细信息和密码来连接到数据库。 然后在SQL Query部分中编写DB Query,如下所示:

Select * From DBName
where DB Columnname =:Name given in the property added above

例如:

Select * From Test_DB
where sequenceid =:Sequence_Response