2

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

  1. 我可以使用 JDBC 请求检索数据库值
  2. 我正在通过充值值列表获得成功响应。

在这里,我想测试响应实际上只包含来自数据库的值。如何测试这个?有什么想法..请告诉我。

谢谢钱德拉

4

2 回答 2

5

您可以使用 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
于 2012-07-13T08:12:03.897 回答
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
于 2013-07-15T11:09:42.370 回答