我有一个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 : '$'
你能帮忙吗?
感谢。
答案 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>
希望这有帮助,