我从JDBC测试步骤获得了以下响应。这包括ErrorCode,ErrorType& ERRORTEXT。
<Row rowNumber="1">
<ErrorType>W</ErrorType>
<ErrorCode>000001</ErrorCode>
<ErrorText>Message receiver not set to insurer or reinsurer</ErrorText>
</Row>
<Row rowNumber="2">
<ErrorType>W</ErrorType>
<ErrorCode>000002</ErrorCode>
<ErrorText>Service Provider is not present in the message</ErrorText>
</Row>
我想追加ErrorType&amp;在“名称”列中设置的ErrorCode和在JDBC测试步骤旁边创建的“属性”测试步骤的“值”列中的ErrorText。 我的属性步骤应如下面的屏幕截图所示。
相信这可以通过在JDBC测试步骤中添加Groovy Assertion来完成。有人可以帮忙吗?如需更多信息,请通知我
答案 0 :(得分:1)
以下是JDBC Request测试步骤的脚本声明。无需额外的Groovy Script测试步骤。
脚本断言
//Define the property test step name, change if needed
def stepName = 'Properties'
//check the response
assert context.response, 'response is empty'
def xml = new XmlSlurper().parseText(context.response)
//Get the response data as map
def map = xml.'**'.findAll { it.name() == 'Row' }.inject([:]){m, item -> m[item.ErrorType.text()+item.ErrorCode.text()] = item.ErrorText.text();m}
def step = context.testCase.testSteps[stepName]
//Use below statement if you need to remove existing properties and just keep the properties from current response only
step.propertyNames.each { step.removeProperty(it)}
//Create properties as needed into properties step from jdbc response
map.each { step.setPropertyValue(it.key,it.value)}
您在线检查是否将jdbc响应作为地图 - Demo