testng process execution
このチュートリアルでは、TestNGのさまざまなタイプの実行プロセス(バッチ実行、制御されたバッチ、テスト実行レポート、並列実行)について説明します。
TestNGでのプロセス実行は、テストスクリプトまたはスイートの実行中に時間を大幅に節約する傾向があります。
探検しよう!
=> TestNGを最初から学ぶには、こちらにアクセスしてください。
学習内容:
なぜ異なるプロセス実行方法?
Java Eclipse環境でテストスクリプトまたはスイートを実行するときは常に、実行する必要のあるすべてのテストスクリプトに対して[再生]ボタンを押す必要があります。多数のテストスクリプトまたはスイートがある場合、これは確かに面倒で時間のかかるプロセスです。
この欠点を克服するために、TestNGには、以下にリストされているさまざまなタイプの実行プロセスに基づいて、テストスクリプトまたはスイートをグループ化して実行するという概念があります。
- バッチ実行
- 制御されたバッチ実行
- テスト実行レポート
- 並列実行
すべてのプロセスの実行を詳細に見てみましょう。
バッチ実行
- これは、すべてのテストスクリプトまたはスイートを順番に実行するプロセスです。
- 各テストスイートを実行するために手動で介入する必要はありません。
例:
前提条件:
- TestNg_Demoというプロジェクト名でSeleniumWebDriverプロジェクトを作成します。
- TestNGプラグインをEclipseにインストールします。
TestNGアノテーションを使用して2つのテストスクリプト(UserおよびUserOperations)ファイルが作成され、実行順序が書き込まれる1つの共通スクリプトファイル(Base_class)が作成されました。
ステップ1: User.java
ステップ2: UserOperations.java
ステップ3: Base_Class.java
ステップ4: プロジェクトを右クリックし、[TestNGテストとして実行]を選択して、バッチでテストスクリプトを実行します。
ステップ5: Xmlファイルは、デフォルトのtest.xmlとしてファイル名を使用してtest-outputフォルダーに生成されます。
ステップ6: 特定のテストスクリプトまたはスイートに属するテストメソッドを追加します。
ステップ7: [実行]ボタンをクリックすると、以下に示すように、[コンソール]ウィンドウに出力が表示されます。
テストスクリプトは、バッチ処理を使用して正常に実行されました。
制御されたバッチ実行
これは、テストスイートまたはスクリプトのグループを含む特定のモジュールを選択的に実行するプロセスです。
例:
何でjsonファイルを開くか
UserOperationsというモジュールが作成されました。その下には、それぞれCreate、Edit、Deleteという3人のユーザーがいます。ここでは、Assertクラスを使用してCreateUserスクリプトを検証することにより、アクションを実行します。そのために、「dependsOnMethods」テストアノテーションを使用してユーザーの編集と削除の依存関係を設定しています。
スクリプトを検証する方法を調べて、対応する依存スクリプトがどのように管理されているかを見てみましょう。
ステップ1: UserOperations。 Java
ユーザースクリプトの作成が正常に検証されると、他の依存関係スクリプトが実行されます。そうでなければ、スクリプトは失敗するか、スキップされることさえあります。
Shockwaveフラッシュファイルを再生する方法
ステップ2: UserOperationsモジュールのテストメソッドをデフォルトのtest.xmlファイルに追加します。
ステップ3: テストスクリプトの検証。
#1) 期待されるメッセージと実際のメッセージが等しい場合。
String expected = “create a user”; String actual = “create a user”; Assert.assertEquals (expected, actual);
対応する出力は、以下に示すようにコンソールウィンドウに表示されます。
#二) 期待されるメッセージと実際のメッセージが等しくない場合。
String expected = “create a user”; String actual = “creating an user”; Assert.assertEquals (expected, actual);
対応する出力がコンソールウィンドウに表示されます。
特定のモジュール(UserOperations)のテストスクリプトが正常に実行され、検証されます。
テスト実行レポート
- レポートの生成は、スクリプトまたはスイートのグループ内の各テストメソッドのステータス(合格/不合格/スキップ)を特定するのに役立つTestNGを使用して実行できます。
- テストレポートは.html形式で生成されます。
例:
ステップ1: テストスクリプトを実行した後、右クリックして[更新]オプションを選択し、プロジェクトを更新します。テスト出力フォルダが自動的に生成されます。
ステップ2: フォルダを展開して、[デフォルトスイート]の下の[デフォルトのtest.html]ファイルをクリックします。
ステップ3: 右クリックして選択します で開く=> Webブラウザ
ステップ4: スクリプト内のテストメソッドに関するすべての情報を示すテスト実行レポートが生成されます。
並列実行
- これは、複数のテストスクリプトを同時に実行するプロセスです。これにより、実行の労力を節約し、最大数のテストをカバーできます。
- また、アプリケーションをより安定させるクロスブラウザーテストを実行することもできます。
- TestNGは、複数のスレッドでテストを実行できるようにするスレッドの概念を内部的に処理します。
例:
TestNGでは、すべての@Testメソッド/クラスが同じスレッドで実行されます。メソッド/クラスを別々のスレッドで実行する場合は、デフォルトのtest.xmlファイルでメソッド/クラスの「並列」属性を設定する必要があります。
ステップ1: デフォルトのtest.xmlファイルで「Parallel」属性を「methods」として構成します。
ステップ2: Parallel_Demo.java
ここでは、2つのテストメソッドを並行して実行しています。スレッドメソッドを最初に実行する必要があるスレッドIDを出力しています。
ステップ3: [実行]ボタンをクリックすると、以下に示すように出力がコンソールに表示されます。
上記の結果は、異なるスレッドを使用して実行された2つのメソッドを示しています。 1つのメソッドの実行を完了するスレッドは、他のテストメソッドを選択して実行します。
結論
このチュートリアルを通じて、TestNG実行のさまざまなプロセスを理解しました。最初に、TestNGアノテーションを使用して新しいSelenium WebDriverプロジェクトを作成することから始め、さまざまなタイプの実行プロセスに移動し、最後にAssertステートメントを使用してテストスクリプトの1つを検証しました。
したがって、バッチ処理を使用して多数のテストスクリプトまたはスイートを実行する方がはるかに簡単であり、実行時間も節約できます。ここでは、理解しやすいように、あらゆる種類の実行のプロセスフローを実装して実行しました。
幸せな読書!!
=> ここで簡単なTestNGトレーニングシリーズに気をつけてください。