不幸的是,这可能是一个非常开放的问题,但我的一位同事对使用 SoapUI Pro 作为我们的自动化回归测试工具表示担忧,主要是因为看似微不足道的 WSDL 更改可能会给 QA 人员带来麻烦。我的同事特别担心,如果我们更新 WSDL,即使更改了名称,我们也需要触及并更新使用该字段的每个现有测试。
据我了解,SoapUI Pro 提供了一个重构工具来为您处理这个问题。
您对 SoapUI Pro 和更新 Web 服务有何体验?我错过了什么吗?
不幸的是,这可能是一个非常开放的问题,但我的一位同事对使用 SoapUI Pro 作为我们的自动化回归测试工具表示担忧,主要是因为看似微不足道的 WSDL 更改可能会给 QA 人员带来麻烦。我的同事特别担心,如果我们更新 WSDL,即使更改了名称,我们也需要触及并更新使用该字段的每个现有测试。
据我了解,SoapUI Pro 提供了一个重构工具来为您处理这个问题。
您对 SoapUI Pro 和更新 Web 服务有何体验?我错过了什么吗?
我也有类似的担忧,这可能是一个小问题;然而。
您可以更新项目中的 wsdl 定义,还可以重新创建更新的请求并备份旧请求。
这是执行此操作的代码。
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//