このセクションの内容:
TestNG Executor ツールを使用すると、SOAtest で実行できる他のさまざまな種類のテストと組み合わせて TestNG テストを実行できます。これにより、テスト環境やテスト データのセットアップ、このツールによる単体テストの実行、モバイル テストの実行など、より広範な一連のイベントの一部として TestNG テストを編成する単一のテスト シナリオを設計して実行することができます。
このツールは、UI またはコマンド ラインからインストールできます。
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 以下のようなスニペットがテストに含まれている場合、
| 任意 | |
コマンドライン引数 | TestNG コマンドライン オプションと、適用する他の TestNG オプションの引数を指定します。コマンドライン引数は、TestNG コマンドラインで指定するのと同じ形式で指定します。 詳細については TestNG のドキュメントを参照してください: http://testng.org/doc/documentation-main.html#running-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 プロジェクトのクラスパスに追加して、リソースをインポートします。
SOAtest の出力を TestNG Executor にアタッチして、TestNG のテスト出力からデータを取得し、そのデータを他のテストで使用することができます。どの値を保存するかを指定するように TestNG を構成し、適切なツールを実行ツールの TestNG 出力にアタッチする必要があります。データは XML フォーマットで連結されたツールに渡されます。たとえば、Diff ツール、XML Assertor、または XML Data Bank ツールにデータを送信できます。
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 テストの出力データを送るには、次の操作を行います。
この例では、multiplyResult
および sumResult
TestNG オペレーションの値を XML Data Bank に保存し、その値を後続のテストで使用できるようにします。次の手順が実行されます。
@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 フォルダーを参照してください。