このセクションの内容:

はじめに

TestNG Executor ツールを使用すると、SOAtest で実行できる他のさまざまな種類のテストと組み合わせて TestNG テストを実行できます。これにより、テスト環境やテスト データのセットアップ、このツールによる単体テストの実行、モバイル テストの実行など、より広範な一連のイベントの一部として TestNG テストを編成する単一のテスト シナリオを設計して実行することができます。

前提条件

  • TestNG 6.9.3.10 がサポートされます。
  • このツールには SOAtest 9.9.0 以降が必要です

インストール

このツールは、UI またはコマンド ラインからインストールできます。

UI からのインストール

  1. [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
  2. [JAR の追加] をクリックし、testngexecutor.jar ファイルを選択します。
  3. [適用] をクリックします。
  4. SOAtest/Virtualize を再起動します。

コマンドラインからのインストール

settings.properties ファイルの system.properties.classpath プロパティに testngexecutor.jar ファイルを追加します。例:

system.properties.classpath=<PATH_TO_JAR>/testngexecutor.jar 

使用方法

ウィザードを使用して、スタンドアロン ツールとして TestNG Executor を追加できます。

テストのクラス フォルダーまたは jar ファイルに、実行する TestNG が含まれている必要があります。他の依存関係は、jar/folder に含めるか、システム プロパティに追加するか、あるいはその両方を行うことができます。ツールは、まず jar/folder をチェックし、必要に応じてシステム プロパティをチェックします。

設定

以下のツール フィールドを設定できます。

フィールド説明必須
JAR またはクラス フォルダー

テストのクラス フォルダーまたは jar ファイルを指定します。クラスまたはメソッドを指定せずに jar/folder を指定した場合、TestNG はまずデフォルト名 (testng.xml) のスイート XML ファイルを探し、そのファイルを使用して実行するテストを構成しようとします。そのスイート XML ファイルが利用できず、クラスまたはメソッドが指定されていない場合、ツールは jar/folder 内のすべてのテストを実行します。

必須
クラス:jar またはクラス フォルダーから実行する TestNG クラスを指定します。任意
メソッド実行する TestNG メソッドを指定します。指定したクラス内のすべてのテスト メソッドを実行する場合は、空白のままにします。任意
グループ

実行するテストのグループを指定します。TestNG は、グループによるテスト メソッドの注釈をサポートしており、テスト メソッドをさまざまな論理グループに分けることができます。たとえば、TestNG の単体テストを unit と integration テスト、あるいは smoke と functional テストに分けることができます。このフィールドには、単一のグループか、カンマで区切ったグループのリストを指定します。

詳細については TestNG のドキュメントを参照してください: http://testng.org/doc/documentation-main.html#test-groups

任意
スイート XML ファイル

実行するスイート XML ファイルを指定します。スイート XML ファイル (デフォルトでは testng.xml ファイルとも呼ばれる) は、どのパッケージ、クラス、スイート、テストを含めるか除外するかの指定、新しいグループの定義、依存関係の指定、データ パラメーターの提供などを行います。

詳細については TestNG のドキュメントを参照してください: http://testng.org/doc/documentation-main.html#testng-xml

任意
パラメーター

パラメータライズされたテスト メソッドに渡すパラメーターを、セミコロンで区切った キー/値 のペアで指定します。これは、スイート XML ファイルでパラメーターを設定する方法に代わるものです。

詳細については TestNG のドキュメントを参照してください: http://testng.org/doc/documentation-main.html#parameters

以下のようなスニペットがテストに含まれている場合、 first-namelast-name パラメーターを次のように指定できます。

first-name=John;last-name=Doe 

import static org.testng.AssertJUnit.*; 
import org.testng.annotations.*; 
public class DataTest { 
	@Parameters({ "first-name", "last-name" }) 
	@Test public void testData(String firstName, String lastName) {
 		assertEquals("John", firstName); 
		assertEquals("Doe", lastName); 
	} 
}
任意
コマンドライン引数

TestNG コマンドライン オプションと、適用する他の TestNG オプションの引数を指定します。コマンドライン引数は、TestNG コマンドラインで指定するのと同じ形式で指定します。

詳細については TestNG のドキュメントを参照してください: http://testng.org/doc/documentation-main.html#running-testng

任意

以下の例は、さまざまなシナリオに対応するツールの設定方法を示しています。

特定のテストメソッドの実行

クラス内のすべてのテスト メソッドの実行

特定のグループでのすべてのテストの実行

スイート XML ファイルの実行

コマンドライン引数の指定

結果の参照

実行の詳細および結果については、[コンソール] ビューにレポートされます。また、テストの失敗が検出された場合、品質タスク ビューにレポートされます。

TestNG テストからコンソールへのメッセージのレポート

com.parasoft.api パッケージをプロジェクトにインポートしてアプリケーション コンテキストにアクセスすると、SOAtest が TestNG テスト実行からのメッセージをコンソールにレポートできるようになります。

Application.showMessage("this displays in the console");

  <SOATEST_INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/ ディレクトリにある com.parasoft.api.jar ファイルを Java プロジェクトのクラスパスに追加して、リソースをインポートします。

TestNG テストからのデータの取得

SOAtest の出力を TestNG Executor にアタッチして、TestNG のテスト出力からデータを取得し、そのデータを他のテストで使用することができます。どの値を保存するかを指定するように TestNG を構成し、適切なツールを実行ツールの TestNG 出力にアタッチする必要があります。データは XML フォーマットで連結されたツールに渡されます。たとえば、Diff ツール、XML Assertor、または XML Data Bank ツールにデータを送信できます。

TestNG の出力の設定

TestNG はアプリケーション コンテキストにアクセスし、custom_tool_TestNG_output キーの下にある標準的な Java Map に必要な値を格納する必要があります。TestNG Executor ツールは、保存されたマップのアプリケーション コンテキストをチェックし、ツールの "TestNG Output" 出力に渡される XML に変換します。マップのキーおよび値は文字列でなければなりません。

アプリケーション コンテキストにアクセスするには、「Reporting Messages from TestNG Test to Console」の説明に従って com.parasoft.api パッケージを TestNG にインポートします。

別のツールにデータを送信

XML データを処理するツールに TestNG テストの出力データを送るには、次の操作を行います。

  1. TestNG Executor を右クリックし、[出力の追加] をクリックします。
  2. 出力を受け取るツールを選択し、[終了] をクリックします。

この例では、multiplyResult および sumResult TestNG オペレーションの値を XML Data Bank に保存し、その値を後続のテストで使用できるようにします。次の手順が実行されます。

  1. TestNG テストは、値を含むマップを作成します。
  2. マップはアプリケーション コンテキストに配置されます。
  3. マップ内の値は XML ドキュメントに変換され、TestNG の出力に接続されたツールに渡されます。
@Test
public void testExample() throws Exception {
  int multiplyResult = 8 * 8;
  int sumResult = 8 + 8;

// Create map representing name-value pairs for XML 
  Map<String, String> map = new HashMap<String, String>(); 
  map.put("multiplyResult", String.valueOf(multiplyResult)); 
  map.put("sumResult", String.valueOf(sumResult));

// Get the Parasoft Scripting Context
  ScriptingContext context = Application.getContext();

// Place the map in the context with the custom_tool_TestNG_output 
  context.put("custom_tool_TestNG_output", map);
  }

このテストを実行するように構成された TestNG Executor ツールを追加し、XML Data Bank ツールを TestNG の出力に追加します。

どの値を抽出して他のツールで使用するかを指定します。マップのコンテンツは、TestNG の出力に添付されたツールに渡される XML ドキュメント内の <root> 要素の下に表示されます。この例では、値アサーション ツールが追加されました。

サード パーティのコンテンツ

このプラグインは、以下のサード パーティのコンテンツを含みます。

その他のライセンスの詳細については、このプラグインの licenses フォルダーを参照してください。


  • No labels