TestNGとの統合したExtentレポートの作成方法


  1. Extentレポートの依存関係を追加する: TestNGプロジェクトにExtentレポートの依存関係を追加します。Mavenを使用している場合は、pom.xmlファイルに次の依存関係を追加します:

    <dependency>
       <groupId>com.aventstack</groupId>
       <artifactId>extentreports</artifactId>
       <version>4.0.9</version>
    </dependency>
  2. レポートの初期化: テストの開始時にExtentレポートを初期化します。TestNGの@BeforeSuiteアノテーションを使用して、次のようにExtentレポートを初期化するメソッドを作成します:

    @BeforeSuite
    public void initializeExtentReport() {
       ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter("path/to/report.html");
       ExtentReports extent = new ExtentReports();
       extent.attachReporter(htmlReporter);
    }
  3. テスト結果の記録: テストケースの実行時にExtentレポートに結果を記録します。TestNGの@AfterMethodアノテーションを使用して、次のようにテスト結果をExtentレポートに記録するメソッドを作成します:

    @AfterMethod
    public void recordTestResult(ITestResult result) {
       ExtentTest test = extent.createTest(result.getMethod().getMethodName());
       if (result.getStatus() == ITestResult.SUCCESS) {
           test.pass("Test passed");
       } else if (result.getStatus() == ITestResult.FAILURE) {
           test.fail("Test failed");
       } else {
           test.skip("Test skipped");
       }
    }
  4. レポートのフラッシュと終了: テストの終了時にExtentレポートをフラッシュして閉じます。TestNGの@AfterSuiteアノテーションを使用して、次のようにExtentレポートをフラッシュするメソッドを作成します:

    @AfterSuite
    public void flushExtentReport() {
       extent.flush();
       extent.close();
    }

これらの手順に従うことで、TestNGとExtentレポートを統合してテスト結果を効果的に記録および表示できます。Extentレポートは、豊富なスタイリングオプションやグラフィカルな表示を提供し、テスト結果の分析やトレンドの追跡に役立ちます。コード例はあくまで参考としてご利用ください。プロジェクトの要件やニーズに合わせて適宜カスタマイズしてください。