0

残念ながら、これは非常に自由形式の質問かもしれませんが、私の同僚は、主に、一見些細なWSDLの変更がQAクルーに頭痛の種を引き起こす可能性があることに基づいて、自動回帰テストツールとしてSoapUIProを使用することについて懸念を共有しています。私の同僚は、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 に答える