2014-05-21 22 views
2

我使用肥皂UI来测试我的Web服务。每次我想执行我的测试请求时,我都需要更新定义。我知道有可能添加groovy脚本来自动更新WSDL。但是我不知道在那里我应该添加这个脚本来使它工作。有人可以描述我每次执行请求时都需要执行哪些步骤才能使此脚本运行?如何在Soap UI中添加groovy脚本来自动更新定义?

回答

1

如果通过在导航器选项卡上双击打开testSuite,您可以在窗口底部看到一个设置脚本按钮,如果您单击安装脚本按钮,则会显示一个窗口,您可以将groovy脚本添加到

enter image description here

这一点,也有可能与测试用例:它,这个脚本首先在每次执行测试套件时执行。除了这个剧本可能是常规或JavaScript,你可以设置你希望你的项目的设置脚本语言特性的语言:

enter image description here

1

下面是该代码:

import static com.eviware.soapui.impl.wsdl.actions.iface.UpdateInterfaceAction.recreateRequests 
import static com.eviware.soapui.impl.wsdl.actions.iface.UpdateInterfaceAction.recreateTestRequests 

project = testRunner.testCase.testSuite.project; //get the project reference 
def ifaceList = project.getInterfaceList(); //get all the interfaces present in the project in a list 

//start a loop for number of interfaces 
for(int i = 0; i < project.getInterfaceCount() ; i++) 
{ 

def iface = project.getInterfaceAt(i); 
def url = iface.definition; 
iface.updateDefinition(url, true); //updateDefinition(String url , Boolean createRequests) 

//The above part updates the definition 
//The part below recreates the requests based on updated wsdl definition 

//syntax - 
//recreateRequests(WsdlInterface iface, boolean buildOptional, boolean createBackups, boolean keepExisting, boolean keepHeaders) 

recreateRequests(iface,true,true,true,true); 
recreateTestRequests(iface,true,true,true,true); 
} 
//End of Script// 
+0

将上面的代码为项目中的所有现有请求创建备份。如果您希望仅为修改/更新的请求创建备份,请使用以下语句。 'iface.updateDefinition(url,false);' –

相关问题