Soap 如何从拆卸脚本中的响应打印atribute值
如果断言失败,我想从响应中打印属性值。错误响应示例:Soap 如何从拆卸脚本中的响应打印atribute值,soap,groovy,soapui,Soap,Groovy,Soapui,如果断言失败,我想从响应中打印属性值。错误响应示例: <soapenv:Body> <ns0:Fault xmlns:ns1="http://www.w3.org/2003/05/soap-envelope" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/"> <faultcode>OSB-382500</faultcode> <faultstring>M
<soapenv:Body>
<ns0:Fault xmlns:ns1="http://www.w3.org/2003/05/soap-envelope" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>OSB-382500</faultcode>
<faultstring>Mandatory Parameter Customer Type cannot be empty (uuid: 1f8b9637-11b1-47ea-9ebd-3abf2fda950e)</faultstring>
<detail>
<ns0:Fault xmlns:ns0="http://group.vodafone.com/contract/vfo/fault/v1" xmlns:ns2="http://group.vodafone.com/contract/vho/header/v1" xmlns:ns3="http://group.vodafone.com/schema/common/v1" xmlns:ns6="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns7="http://www.w3.org/2005/08/addressing">
<ns6:Timestamp>2017-08-16T20:44:27.15+05:30</ns6:Timestamp>
<ns6:ErrorCode>500</ns6:ErrorCode>
<ns0:Name/>
<ns0:Severity>Critical</ns0:Severity>
<ns0:Category>Technical</ns0:Category>
<ns0:ReasonCode>ReasonCode</ns0:ReasonCode>
<ns0:Message>Service Callout Failure</ns0:Message>
</ns0:Fault>
</detail>
</ns0:Fault>
</soapenv:Body>
我正在使用context.expand从groovy的响应中获取数据, 比如说
def hotel=context.expand(“${SearchHotels#Response#declare namespace ns1=\'someNamespace\';declare namespace ns2=\'someNamespace2\';//ns2:SearchHotelsResponse[1]/ns1:TWS#HotelList[1]/ns1:HotelList[1]})
我使用了以下语句:
def req = it.name; message[k] = context.expand('${'+req+'#Response#declare namespace ns0=\'http://group.vodafone.com/contract/vfo/fault/v1\'; //ns0:Message}')
它成功了。你能使用这里为你的另一个问题提供的代码片段吗?@Rao,我有一个测试套件,里面有60-70个测试步骤。在每个测试步骤的脚本断言中都使用了我前面问题中的代码片段。但是这个代码片段,我在TestSuite的拆卸脚本中使用。所以我想要一个脚本,它可以在拆卸脚本中使用,它可以从所有测试步骤中提取数据,并相应地将该属性值写入excel.Ok。但是所有测试步骤是否都得到相同类型的响应(遵循相同的模式)?是的,所有响应都遵循相同的模式;message[k]=context.expand('${'+req+'#Response#declare namespace ns0=\'http://group.vodafone.com/contract/vfo/fault/v1\“;//ns0:Message}”)
def req = it.name; message[k] = context.expand('${'+req+'#Response#declare namespace ns0=\'http://group.vodafone.com/contract/vfo/fault/v1\'; //ns0:Message}')