目标:遍历2个DataSources以更新“Assert Properties are Equal”Groovy脚本中的属性。
问题:测试用例只是遍历“GetAppointmentInfo-> Properties”DataSource中的行。 “Stratus_ODS-> Properties”DataSource中的属性停留在数据源的第一行,并且在测试用例循环时不会更新。
此处的测试案例图片(抱歉,需要10个代码才能将图片内联): http://imgur.com/DYMbIf3
测试用例步骤和说明:
REST请求“开始获取密钥” - 使用第二次请求所需的安全密钥进行响应
Property Transfer“Key - > GetAppointmentInfo” - 将安全密钥转移到GetAppointmentInfo请求
REST请求“GetAppointmentInfo” - 以XML格式的约会列表进行响应
DataSource“GetAppointmentInfo - > Properties” - 源“GetAppointmentInfo”响应,将一列约会号码存储为名为“ApptNum”的属性。预约编号为[100,101,102,103,104]
DataSource“Stratus_ODS - > Properties” - 源是SQL Server数据库中的表,将一列约会号码存储为名为“SQL_ApptNum”的属性。预约编号为[100,101,102,103,104]
Groovy脚本步骤“断言属性相等”
def ApptNum = context.expand( '${GetAppointmentInfo->Properties#ApptNum}' )
def SQL_ApptNum = context.expand( '${Stratus_ODS->Properties#SQL_ApptNum}' )
assert ApptNum == SQL_AptNum
DataSource循环 - 来源:步骤4“GetAppointmentInfo - > Properties”&目标:步骤6“断言属性相等”
断言在第一次迭代时传递:
ApptNum = 100& SQL_ApptNum = 100
断言在第二次迭代时失败:
ApptNum = 101& SQL_ApptNum = 100
答案 0 :(得分:0)
听起来你的测试设计存在缺陷。你仍然缺少一些信息,所以以下只是我最好的猜测!
接近这样的事情: