SeleniumのTestNGアノテーションについて知っておくべきことすべて



SeleniumでのTestNGアノテーションに関するこの記事は、例を使用して、TestNGがSeleniumでサポートするさまざまなアノテーションを理解するのに役立ちます。

のコンセプト以来 導入され、多くのテスト方法が進化し、パラダイムが変更されましたが、要件は何とか一定を維持するために勝利しました。そのような方法論の1つは TestNG これは、アノテーションを使用してテストケースをコードのさまざまなセクションにグループ化するのに役立ちます。しかし、それはどのように機能しますか?のTestNGアノテーションに関するこの記事の媒体を通してこの概念を理解しましょう 。

この記事では、以下のトピックについて説明します。





TestNGの紹介

TestNG を意味する 次世代のテスト これは、JUnitとNUnitに触発されたオープンソースのテスト自動化フレームワークです。上手、 TestNG インスピレーションを得ているだけでなく、これら2つのフレームワークのアップグレードバージョンです。では、ここでのアップグレードは何ですか? TestNGによるアップグレードは、以前は不可能だった、テストアノテーション、グループ化、優先順位付け、パラメーター化、シーケンス手法などの追加機能をコードに提供することです。

TestNGの紹介-TestNGアノテーション-EdurekaTestNGを使用することで、テストケースを管理するだけでなく、テストの詳細なレポートも取得できます。失敗したテストケースの数を表示する詳細な要約があります。また、バグを正確に特定し、できるだけ早く修正することができます。 TestNGとは何かがわかったところで、SeleniumでTestNGを使用する理由を見てみましょう。



SeleniumでTestNGを使用する理由

世界中のソフトウェア開発者は、テストケースでコードを書くことで、デバッグ時間のかなりの部分を節約できることに満場一致で同意するでしょう。どうして?これは、テストケースがコード全体を小さなテストケースに分割し、これらの各テストケースを評価して合格/不合格の条件を設定することで、堅牢でエラーのないコードを作成するのに役立つためです。エラーのないコードを作成できます。以来 テストケースでのコードの実行をサポートしていない場合、TestNGが登場し、テストケースの実行に役立ちます。

TestNGは、次の機能もサポートしています。

  • 実行されたテストケースの数、失敗したテストケースの数、およびスキップされたテストケースを含む適切な形式でレポートを生成します。
  • 複数のテストケースをTestNG.xmlファイルに変換することで、より簡単にグループ化できます。ここでは、テストケースを実行するための優先順位を設定できます。
  • TestNGを使用すると、複数のブラウザで複数のテストケースを実行できます。 クロスブラウザテスト
  • テストフレームワークは、Maven、Jenkinsなどのツールと簡単に統合できます。

TestNGとは何か、なぜそれが使用されるのかがわかったところで、さらに進んで、TestNGがSeleniumでサポートするさまざまなアノテーションについて理解しましょう。

TestNGアノテーション

SeleniumのTestNGアノテーションは、次に実行されるメソッドを制御するために使用されます。テストアノテーションは、テストコードのすべてのメソッドの前に定義されます。メソッドの前にアノテーションが付いていない場合、そのメソッドは無視され、テストコードの一部として実行されません。それらを定義するには、メソッドに「」という注釈を付ける必要があります。 @テスト ‘。



TestNGアノテーションの種類:

以下は、TestNGがセレンでサポートする注釈のリストです。

  • @BeforeMethod: このアノテーションが付いたメソッドは、毎回実行される前に実行されます @テスト 注釈付きメソッド。
  • @AfterMethod:これ アノテーションは毎回実行されます @テスト 注釈付きメソッド。
  • @BeforeClass: このアノテーションは前に実行されます 最初の@Test メソッドの実行。クラスごとに1回だけ実行されます。
  • @AfterClass:T 彼のアノテーションは、現在のクラスのすべてのテストメソッドが実行された後に実行されます
  • @BeforeTest: このアノテーションを持つメソッドは、前に実行されます 最初の@Test 注釈付きメソッド。
  • @AfterTest: このアノテーションが付いたメソッドは、次の場合に実行されます。 すべて @テスト 注釈付きメソッドは、insidetagにあるクラスの実行を完了します。 TestNG.xml ファイル。
  • @BeforeSuite: このアノテーションは実行されます 前に一度だけ スイート内のすべてのテストが実行されました
  • @AfterSuite: このアノテーションが付いたメソッドが実行されます 一度後 スイート内のすべてのテストの実行が実行されました
  • @BeforeGroups: この注釈付きメソッドは実行されます 最初のテスト実行前 その特定のグループの。
  • @AfterGroups: この注釈付きメソッドは実行されます すべてのテスト方法の後 そのグループの実行が完了します。

つまり、これはすべてTestNGのアノテーションに関するものです。次に、さらに進んで、TestNGを使用して最初のテストケースを作成する方法を理解しましょう。

TestNGアノテーションを使用したテストケースの作成

TestNGアノテーションを使用したテストケースの作成に関連するさまざまな手順は次のとおりです。

  1. プロジェクトを作成し、TestNGライブラリを追加します。
  2. クラスファイルを作成し、プログラムをコーディングします
  3. 最後に、XMLファイルを作成し、TestNGSuiteで実行します。

TestNGを使用したテストケースの作成について詳しく知りたい場合は、次の記事を確認してください。 TestNGチュートリアル それでは、さらに進んで、TestNGアノテーションがテストケースのグループ化とプログラムの構成にどのように役立つかを理解しましょう。

テストケース1:

このテストケースでは、3つの異なるアノテーションを使用して、プログラムをコーディングします。以下の例でそれを行う方法を理解しましょう。

パッケージco.edureka.pagesimport org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C://Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser(){System.out.println( 'launching Chrome browser')System.setProperty( 'webdriver.chrome.driver'、driverPath)driver = new ChromeDriver()driver.get(baseUrl)} @Test public void verifyHomepageTitle()String expectedTitle = '24時間年中無休のライフタイムサポートを備えたインストラクター主導のオンライントレーニング@AfterTestpublic void terminalBrowser(){driver.close()}}

基本的に、EdurekaのWebページの実際のタイトルが期待されるタイトルと一致するかどうかを確認したいと思います。だから、私は最初に「 @BeforeTest ’ ブラウザドライバのインスタンスに注釈を付けて作成し、を使用してEdurekaWebサイトをナビゲートします。 driver.get() 方法。したがって、これらはテストの前に実行する必要がある手順です。

次に、このテスト中に、期待されるタイトルと実際のタイトルが一致するかどうかを確認したいと思います。そのため、@ TestAnnotationを使用してすべてのステップを指定しています。最後に、ドライバーを閉じて、テスト後にブラウザーを終了したいと思います。だから私は使っています @AfterTest 注釈を付けてドライバーを閉じます。これが、コード全体をさまざまなアノテーションにグループ化し、テストケースを実行する方法です。 TestNG Testとしてプログラムを実行し、出力を確認してみましょう。

スナップショットを見ると、デフォルトのテストとスイートでテストケースが正常に実行されていることがわかります。また、テストケースは合格し、失敗もありません。

次に、さまざまなアノテーションの実行フローを詳細に理解するためのもう1つの例を見てみましょう。アノテーションの実行の流れを知ることは非常に必要です。それでは、以下のスナップショットを見て、それについて知ってみましょう。

アノテーションの実行フローは、上記のスナップショットのようになります。同じことを理解するために、もう1つの例を見てみましょう。

テストケース2:

パッケージco.edureka.pagesimport org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {//テストケース1 @ Test public void testCase1(){System.out.println ( 'テストケース1')} //テストケース2 @ Test public void testCase2(){System.out.println( 'Test Case 2')} @BeforeMethod public void beforeMethod(){System.out.println( 'Beforeメソッド ')} @AfterMethod public void afterMethod(){System.out.println(' After Method ')} @BeforeClass public void beforeClass(){System.out.println(' Before Class ')} @AfterClass public void afterClass( ){System.out.println( 'After Class')} @BeforeTest public void beforeTest(){System.out.println( 'Before Test')} @AfterTest public void afterTest(){System.out.println( 'After Test')} @BeforeSuite public void beforeSuite(){System.out.println( 'Before Suite')} @AfterSuite public void afterSuite(){System.out.println( 'スイート後')}}

上記のコードでは、アノテーションを使用してすべてのメソッドをランダムに記述しています。私はそれの順序に従っていません。しかし、プログラムを実行すると、同じ順序に従います。出力を確認してみましょう。

[RemoteTestNG]がTestNGバージョン6.14.2を検出しましたスイート前テスト前クラス前メソッド前テストケース1メソッド後メソッド前テストケース2メソッド後クラス後テスト合格:testCase1合格:testCase2 =========== ====================================デフォルトのテスト実行:2、失敗:0、スキップ:0 ===============================================スイート後= ==============================================デフォルトスイート合計テスト実行:2、失敗:0、スキップ:0 ======================================= ========

上記の出力から、テストケースの両方が実行され、BeforeSuiteとAfterSuiteが1回だけ実行されたことがわかります。また、テストはデフォルトのテストとスイートで正常に実行されました。これは、アノテーションを使用してテストケースを実行する必要がある方法です。これで、SeleniumでのTestNGアノテーションに関するこの記事は終わりです。

あなたが概念を理解し、それがあなたの知識に付加価値を与えたことを願っています。今、あなたがセレンについてより多くの洞察を得たいならば、あなたは上の記事をチェックすることができます 。

この「SeleniumでのTestNGアノテーション」を見つけた場合 」関連、 チェックアウト 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。

スキャナークラスの使い方

質問がありますか?のコメント欄に記載してください SeleniumでのTestNGアノテーション 記事と私たちはあなたに戻ります。