guide generate extent reports selenium webdriver
Selenium WebDriverでエクステントレポートを生成する方法:
Seleniumは、JUnitやTestNGなどのフレームワークを使用して組み込みのレポートを提供します。
組み込みのレポートは、テストケースの一部として実行されるステップに関する情報を提供しますが、すべての主要なプロジェクトの利害関係者と共有するには、さらにカスタマイズする必要があります。
Extent Reportsは、Anshoo Aroraによって開発されたカスタマイズ可能なHTMLレポートであり、JUnitおよびTestNGフレームワークを使用してSeleniumWebDriverに統合できます。
このチュートリアルでは、サンプルコードを使用してSeleniumWebDriveでエクステントレポートを生成する方法に関する完全なステップバイステップガイドを提供します。
以下は、TestNGフレームワークによって提供される組み込みレポートのスナップショットです。
エクステントレポートは、円グラフ表現、テストの段階的なレポート生成、スクリーンショットの追加など、JUnitおよびTestNGを介して生成される組み込みレポートと比較すると、すべてのテストステップでいくつかの利点があり、共有可能な表示可能なユーザーインターフェイスがあります。プロジェクトのすべての利害関係者。
以下は、円グラフ表現のサンプルエクステントレポートのスナップショットです。
((注意:画像をクリックすると拡大表示されます)
学習内容:
- エクステントレポートを使用する利点
- SeleniumWebdriverでのエクステントレポートの使用
- エクステントレポートのサンプルコード
- テスト概要レポート
- 円グラフグラフィックレポート
- エクステントレポートでスクリーンショットをキャプチャする
- 結論
- 推奨読書
エクステントレポートを使用する利点
エクステントレポートにはいくつかの利点があり、そのいくつかを以下で説明します。
- 段階的および円グラフ表現を備えたカスタマイズ可能なHTMLレポート。
- レポート内でテストケースの実行にかかった時間を表示します。
- 各テストステップは、スクリーンショットに関連付けることができます。
- 1つのスイート内で実行された複数のテストケースを簡単に追跡できます。
- TestNGおよびJUnitフレームワークと簡単に統合できます。
SeleniumWebdriverでのエクステントレポートの使用
エクステントレポートには、頻繁に使用される2つの主要なクラスが含まれています。
- ExtentReportsクラス
- ExtentTestクラス
構文:
ExtentReportsレポート= new ExtentReports( '結果のHTMLファイルを保存するディレクトリのパス'、true / false);
採用担当者のサンプルにメールを書く方法
ExtentTest test = reports.startTest(“ TestName”);
Extent Reportsクラスは、ユーザー指定のパスでHTMLレポートを生成するために使用されます。ブールフラグは、既存のレポートを上書きする必要があるか、新しいレポートを作成する必要があるかを示します。値「true」はデフォルト値です。これは、既存のすべてのデータが上書きされることを意味します。
Extent Testクラスは、生成されたHTMLレポートにテストステップを記録するために使用されます。
上記のクラスは、以下に説明する頻繁に使用される組み込みメソッドで使用できます。
- startTest
- endTest
- ログ
- 流す
startTestメソッドとendTestメソッドは、テストケースの前提条件と事後条件を実行するために使用され、logメソッドは、各テストステップのステータスを結果のHTMLレポートに記録するために使用されます。フラッシュ方式は、レポートの以前のデータを消去し、新しいレポートを作成するために使用されます。
テストステータスは、次のいずれかの値になります。
配列を使用したC ++でのスタック実装
- パス
- 不合格
- スキップ
- 情報
構文:
reports.endTest();
test.log(LogStatus.PASS、” Test Passed”);
test.log(LogStatus.FAIL、”テストに失敗しました”);
test.log(LogStatus.SKIP、” Test Skipped”);
test.log(LogStatus.INFO、”テスト情報”);
Logメソッドは2つのパラメーターを取ります。最初のパラメーターはテストステータスであり、2番目のパラメーターは結果のレポートに出力されるメッセージです。
エクステントレポートのサンプルコード
JunitのSeleniumWebdriverでエクステントレポートを使用するための一連の手順を以下に示します。
ステップ1:
エクステントレポートは、JARファイル–extendreports-java-2.41.2.jarをインポートすることでSeleniumWebDriverで直接使用できます。 ここからダウンロード 。
ZIPファイルがダウンロードされたら、ZIPファイルの内容をフォルダーに抽出します。
ステップ2:
オプションを使用して、ZIPファイルに存在するjarファイルをプロジェクトビルドパスに追加します ビルドパス->ビルドパスの構成。
ステップ3:
エクステントレポート用に以下のコードを使用して、新しいJAVAクラスを作成します。
package com.objectrepository.demo; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import com.relevantcodes.extentreports.ExtentReports; import com.relevantcodes.extentreports.ExtentTest; import com.relevantcodes.extentreports.LogStatus; public class ExtentDemo { static ExtentTest test; static ExtentReports report; @BeforeClass public static void startTest() { report = new ExtentReports(System.getProperty('user.dir')+'\ExtentReportResults.html'); test = report.startTest('ExtentDemo'); } @Test public void extentReportsDemo() { System.setProperty('webdriver.chrome.driver', 'D:\SubmittalExchange_TFS\QA\Automationrdparty\chrome\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.get('https://www.google.co.in'); if(driver.getTitle().equals('Google')) { test.log(LogStatus.PASS, 'Navigated to the specified URL'); } else { test.log(LogStatus.FAIL, 'Test Failed'); } } @AfterClass public static void endTest() { report.endTest(test); report.flush(); } }
コードの説明
@BeforeClass:
上記のコードは、エクステントレポートの使用法を示しています。テストケースの実行は、ExtentReportsオブジェクトの初期化を含むstartTestメソッドから始まります。 Extent Reportsオブジェクトに渡されるパラメーターは、任意の有効なユーザー定義パスにすることができます。
簡単にするために、 例 現在のプロジェクトディレクトリを使用して、結果のHTMLレポートを生成します。次のステートメントには、startTestメソッドの戻り値を使用したExtentTestオブジェクトの初期化が含まれます。
@テスト:
テストクラスには、次の手順が含まれます。
- このURLでChromeブラウザを開きますhttps://www.google.com
- ページが開かれたら、期待値でページタイトルを検証します。
- エクステントレポートのログメソッドを使用して、テストケースのステータスをPASS / FAILとしてログに記録します。
@放課後:
afterクラスには、endTestメソッドを使用してテストを終了したり、レポートをフラッシュしたりするなど、テストケースの事後条件を実行するコードが含まれています。 flush()メソッドを使用しない場合、レポートは生成されないことに注意してください。
T 要約レポートです
円グラフグラフィックレポート
エクステントレポートでスクリーンショットをキャプチャする
画面キャプチャとテストの実行は、テストの実行中に問題が発生した場合に、テスターがテストスクリプトをデバッグするのに役立ちます。ただし、次のことをお勧めします スクリーンショットをキャプチャする すべてのテストステップでキャプチャされた場合、画像はより多くのメモリを消費するため、テストステップが失敗した場合のみ。
以下のコードを使用して、失敗したステップごとにスクリーンショットをキャプチャできます。
test.log(LogStatus.FAIL,test.addScreenCapture(capture(driver))+ 'Test Failed'); public static String capture(WebDriver driver) throws IOException { File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); File Dest = new File('src/../ErrImages/' + System.currentTimeMillis() + '.png'); String errflpath = Dest.getAbsolutePath(); FileUtils.copyFile(scrFile, Dest); return errflpath; }
コードの説明
キャプチャ方法:
#1) getScreenShotAs()メソッドは、現在のWebDriverインスタンスのスクリーンショットをキャプチャし、それをさまざまな出力形式で保存するために使用されます。
ファイルscrFile =((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
#二) getScreenShotAsメソッドは、ファイル変数に格納する必要のあるファイルオブジェクトを返します。このメソッドを使用する場合は、WebドライバーインスタンスをTakeScreenshotにキャストする必要があることに注意してください。
IEでxpathを見つける方法
#3) File Dest = new File(“ src /../ ErrImages /” + System.currentTimeMillis()+“ .png”);
#4) 上記のステートメントは、「src」フォルダー内に「ErrImages」という名前のフォルダーを作成し、ファイル名を現在のシステム時刻として保存します。
#5) 文字列errflpath = Dest.getAbsolutePath();
FileUtils.copyFile(scrFile、Dest);
returnerrflpath;
#6) 上記のステートメントは、エラーイメージを宛先フォルダーにコピーします。
ログ方式:
Logメソッドは、組み込みメソッドであるExtent TestクラスのaddScreenCaptureを使用してスクリーンショットをフェッチし、それをExtentレポートに追加します。
test.log(LogStatus.FAIL、test.addScreenCapture(capture(driver))+“ Test Failed”);
logメソッドに記録されるメッセージには、デバッグ目的で期待される結果と実際の結果を含む詳細なメッセージを含めることができます。
出力:
結論
エクステントレポートは、SeleniumWebドライバーの快適なユーザーインターフェイスを使用してカスタマイズ可能なHTMLレポートを生成するための最良の組み込み方法の1つです。
これは、Seleniumで簡単に構成できるオープンソースライブラリであるため、自動化テスターに最適です。
エクステントレポートについて明確なアイデアが得られたと思います。
推奨読書
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- Selenium WebDriverの概要– Seleniumチュートリアル#8
- 最初のWebDriverスクリプトの実装– Selenium WebDriverチュートリアル#10
- Seleniumに関するFAQ
- Selenium WebDriverでアラート/ポップアップを処理する方法-Seleniumチュートリアル#16
- Selenium WebDriverでの暗黙的および明示的な待機(Selenium待機のタイプ)
- さまざまな人気のあるブラウザでSeleniumWebDriverを実行する方法
- Eclipseを使用したWebDriver全体のセットアップとインストール– Seleniumチュートリアル#9