我的功能是测试我发送移动运营商的时间,它应该返回与该运营商相关的充值值列表。
这里我想测试响应实际上只包含来自数据库的值。如何测试?有什么想法..请告诉我。
由于 钱德拉
答案 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