使用Groovy将XML内容的一部分复制到单独的文件夹中

时间:2018-07-02 13:11:01

标签: xml groovy

我正在尝试复制包含大量数据的XML的一部分。我正在尝试这样的事情:

import com.eviware.soapui.support.XmlHolder   
import jxl.*   
import jxl.write.*   

 // read the file from path
def file = new File('Path.xml')
// for example read line by line
def myTestCase = context.testCase 
propTestStep = myTestCase.getTestStepByName("Data")    

def data= file.filterLine { line ->
    line.contains('<V1>Value</V1><V2>Value</V2>')
}

propTestStep.setPropertyValue("Value Present", data)

但是我在将内容写在给定的属性值上有问题...知道如何定义保存值的任何想法吗?

一般来说,我试图将xml标记作为正则表达式给出,因为它们应该填充在请求中并仅获取此值...也许我需要使用完全不同的方法,但是如果我需要与我分享错误:)

编辑:运行代码时收到的错误消息是: groovy.lang.MissingMethodException:方法的无签名:com.eviware.soapui.impl.wsdl.teststeps.WsdlPropertiesTestStep.setPropertyValue()适用于参数类型:(java.lang.String,org.codehaus.groovy.runtime.IOGroovyMethods $ 4)值:[Value Present,]可能的解决方案:setPropertyValue(java.lang.String,java.lang.String),getPropertyValue (java.lang.String),希望对您有所帮助。

1 个答案:

答案 0 :(得分:1)

方法File.filterLine() 返回可写

和方法WsdlPropertiesTestStep.setPropertyValue(name,value) 期望将字符串作为值参数

您只需要将data转换为字符串

propTestStep.setPropertyValue( "Value Present", data.toString() )