我正在寻找groovy脚本,使用groovy脚本在运行时动态地向SOAPUI中的项目添加wsdl。我试过以下代码
import com.eviware.soapui.impl.wsdl.*
import com.eviware.soapui.impl.WsdlInterfaceFactory
project = new WsdlProject()
//wsdl = new WsdlInterfaceFactory()
project.setName("Project1");
WsdlInterface iface = WsdlInterfaceFactory.importWsdl(project, "C:\\Manoj\\BIAScalarReads\\IDSRequestLIB\\IDS_Request_MeterData.wsdl", true)[0];
SOAPUI中没有加载任何新项目。任何人都可以帮忙吗?
答案 0 :(得分:0)
您正在创建项目,但是您不能将项目添加到工作区。为此,您必须使用Workspace
class中的相关方法。
有可能以不同的方式这样做。例如,创建项目,保存在磁盘上,然后加载到testCase中groovy script
testStep中的工作区:
import com.eviware.soapui.impl.wsdl.*
import com.eviware.soapui.impl.WsdlInterfaceFactory
def project = new WsdlProject()
project.setName("Project1")
WsdlInterfaceFactory.importWsdl(project, 'path/to/yourWsdl', true)
// file to save the project
def projectFilePath = 'C:/temp/myProject.xml'
// save the project
project.saveAs(projectFilePath)
// load the project from disc to workspace
testRunner.testCase.testSuite.project.workspace.importProject(projectFilePath)
另一种可行且更紧凑的方法是使用workspace.createProject
,这样就可以避免保存光盘然后导入,这样就可以使用以下脚本:
import com.eviware.soapui.impl.wsdl.*
import com.eviware.soapui.impl.WsdlInterfaceFactory
def workspace = testRunner.testCase.testSuite.project.workspace
def project = workspace.createProject('Project2',new File('C:/temp/myProject.xml'))
WsdlInterfaceFactory.importWsdl(project, 'path/to/yourWsdl', true)
希望这有帮助,