0

不幸的是,这可能是一个非常开放的问题,但我的一位同事对使用 SoapUI Pro 作为我们的自动化回归测试工具表示担忧,主要是因为看似微不足道的 WSDL 更改可能会给 QA 人员带来麻烦。我的同事特别担心,如果我们更新 WSDL,即使更改了名称,我们也需要触及并更新使用该字段的每个现有测试。

据我了解,SoapUI Pro 提供了一个重构工具来为您处理这个问题。

您对 SoapUI Pro 和更新 Web 服务有何体验?我错过了什么吗?

4

2 回答 2

0

我也有类似的担忧,这可能是一个小问题;然而。

  1. 即使它确实发生了,生产力的好处也超过了重量的下降。
  2. 您可以使用 Groovy 脚本来重构项目本身。
  3. 应用良好的编程实践来隔离共性。
  4. 对项目进行分层,创建极其简单的 API 原语。
  5. 为使用这些基元的场景创建单独的测试套件,而不是自己进行调用
  6. 使用 Groovy 和 TestRunner,链接外部 Java 实用程序和帮助代码
  7. 不要克隆,而是打电话。
  8. 使用外部工具,我还使用 XmlPad 和 Notepad++ 重构我的 SOAPUI 项目。
于 2012-08-29T11:55:18.690 回答
0

您可以更新项目中的 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//
于 2015-02-12T12:04:36.373 回答