我正在尝试复制包含大量数据的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),希望对您有所帮助。
答案 0 :(得分:1)
方法File.filterLine() 返回可写
和方法WsdlPropertiesTestStep.setPropertyValue(name,value) 期望将字符串作为值参数
您只需要将data
转换为字符串
propTestStep.setPropertyValue( "Value Present", data.toString() )