你使用什么样的断言?您是否尝试过脚本断言或从预期的断言值中删除引号?
您能否分享带有引号的字符串的 xml 或 xml 片段?
试试这个作为脚本断言
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContentAsXml)
String val = holder.getNodeValue('xPath to the value you want to extract')
assert 'The expected value in quotes' == val, "Appropriate message if the assertion fails"
OP 需要能够从 csv 中选择期望值并将其与响应中收到的值进行比较。
当您使用soapUI 的专业版时,请使用数据源从您的csv 文件中获取值。让我们考虑一下您的 csv 有一个名为 expectedVal 的列,它将包含预期的响应值。这个值可以是任何东西,一个 xml,一个带引号的字符串,任何东西。然后我们的脚本断言将变为下面的代码
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContentAsXml)
String val = holder.getNodeValue('//ns1:GetConversionRateResponse[1]/ns1:GetConversionRateResult[1]/a:Rate[1]')
def expVal = context.expand( '${DataSource#expVal}' )
assert expVal == val, "Appropriate message if the assertion fails"
我使用xmethods.net上提供的 currencyConversion 服务创建了一个soapUI 项目,该项目是我在下面解释的内容的简单实现。
https://drive.google.com/folderview?id=0B7mJBdNSSV-YMW5jSFh3NGd1UHM&usp=sharing
上面的链接将可用两天,您应该将其标记为答案。