SoapUI,当从属性文件中读取值时,temper请求数据中断

时间:2014-09-25 03:57:09

标签: groovy soapui

我有一个groovy脚本作为测试用例中的第一个测试步骤,其中一部分看起来像:

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder("SampleTestt#Request").getXml()
log.info holder 

当SampleTest测试步骤对所有元素值进行硬编码时,可以正确打印请求xml。

但是,如果从测试用例属性读取某些请求值,例如以下

${#TestCase#Id}

上面的groovy脚本错误如下:

org.apache.xmlbeans.XMLException: error: Unexpected character encountered : '$'

你能帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用context.expand()评估请求中的属性,然后将结果解析为xmlHolder,您的代码可能如下所示:

// get your request replacing the properties inside by their values
def xmlRequest = context.expand('${SampleTestt#Request}')
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(xmlRequest)
log.info holder.getXml()

请注意,我使用SampleTestt作为您的测试步骤请求名称,但我认为最后t可能是错误的...在使用代码之前检查它是否是正确的请求名称。< / p>

希望这有帮助,