在SoapUI 5.2.1中我试图在我的Mock Dispatch Groovy脚本中应用断言来比较mock接收的XML与我期望的xml匹配。我已经看到使用XMLUnit来实现这一点的参考。有没有人有一个完整的groovy脚本,包括:
这个领域还有其他一些问题,但对我来说都不完整。
谢谢, 太
答案 0 :(得分:0)
感谢@Nick Grealy,我已经开始工作了。一些说明:
这是SOAP UI v 5.2.1,Mock Dispatch脚本
中的groovy代码import org.custommonkey.xmlunit.*
XMLUnit.setIgnoreWhitespace(true)
XMLUnit.setIgnoreComments(true)
XMLUnit.setIgnoreDiffBetweenTextAndCDATA(true)
XMLUnit.setNormalizeWhitespace(true)
def expectedRequest = '''
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
'''
def actualRequestReceived = mockRequest.requestContent
def diff = new Diff(actualRequestReceived, expectedRequest)
diff.compare()
log.info('actualRequestReceived:' + actualRequestReceived)
log.info('expectedRequest:' + expectedRequest)
log.info('identical:' + diff.identical())
log.info('similar:' + diff.similar())
if (!diff.identical) {
responseToUse = "FailureResponse"
} else {
responseToUse = "SuccessResponse"
}
return responseToUse