我使用Soap UI来测试我的Web服务。每次我想执行测试请求时,我都需要更新定义。我知道有可能添加groovy脚本让WSDL自动更新。但我不知道我应该添加这个脚本以使其正常工作。可能有人描述了我每次执行请求时需要做的步骤才能使这个脚本运行吗?
答案 0 :(得分:1)
如果在导航器选项卡上双击打开testSuite,则可以在窗口底部看到设置脚本按钮,如果单击设置脚本按钮,则会显示一个窗口,您可以在其上添加groovy脚本,每次执行testSuite时都会执行此脚本:
使用testCases也可以。除了这个脚本可以是groovy或javascript,你可以设置你想要的项目的脚本语言属性:
答案 1 :(得分: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//