我的情况是需要比较共享相同Soap请求的两个不同Web服务的两个Soap响应,
答案 0 :(得分:0)
在这样的groovy中以一种简单的方式:
def res1 = context.getTestCase().getTestStepByName('The NAME OF SERVICE CALL STEP1').getPropertyValue('Response')
def res2 = context.getTestCase().getTestStepByName('The NAME OF SERVICE CALL STEP2').getPropertyValue('Response')
//reformat xmls to avoid space difference and to remove comments (groovy parser do this)
def xmlParser = new XmlParser()
res1 = XmlUtil.serialize( xmlParser.parseText(res1) )
res2 = XmlUtil.serialize( xmlParser.parseText(res2) )
assert res1==res2
但是比较xmls并不是那么简单,因为名称空间前缀,元素顺序......可能不同。
在这种情况下,您可以在arsing之后但序列化之前将一些函数写入normalize
xml ...