Seleniumでエクステントレポートを生成する方法
公開: 2021-06-21セレンのテスト自動化に使用されるオープンソースライブラリはExtentReportsです。 フレームワークのテスト。 NUnit、JUnitなどをライブラリと統合できます。 組み込みのレポートは、TestNGとJUnitのフレームワークを介してセレンで作成されますが、エクステントレポートは、セレンの自動化テスターの最初の選択肢です。 セレンのエクステントレポートは、自動化スクリプトの実行に関するより多くの洞察を提供します。 結果は円グラフで表され、基本的にHTMLドキュメントです。 スナップショットのような詳細であり、カスタムログはライブラリを介して生成できます。
自動テストが正常に実行された後、テスト実行のレポートがテスターによって生成されます。 デフォルトのレポートはTestNGによって提供されますが、詳細は提供されません。 ExtentReport APIの適用性により、簡単な構成でインタラクティブなレポートを生成できます。 ライブラリでは、JUnit、NUnit、TestNGなどのJavaおよび.Netのフレームワークがサポートされています。
エクステントレポートMavenの依存関係
ソース
セレンエクステントレポートは、次の2つのクラスで構成されています。
目次
1.ExtentReportsクラス
テスターはパスを指定し、指定されたパスに基づいて、ExtentReportsクラスからHTMLレポートが生成されます。 新しいレポートの生成または既存のレポートの上書きがあります。 ブール値に基づいて決定されます。 デフォルトのブール値は「true」です。これは、過去に存在したすべてのデータが上書きされることを意味します。
2.ExtentTestクラス
テストステップは、ExtentTestクラスを介して、上記のメソッドを介して生成されたHTMLレポートに記録されます。
3.エクステントHtmlReporter
HTMLファイルはこのクラスによって作成されます。
リストされている組み込み関数は、以下にリストされているクラスで使用できます。
- startTest:テストのケースの前提条件が実行されます
- endTest:テストのケースの事後条件が実行されます。
- ログ方式:テストのすべてのステップのステータスは、ログを介して生成されたHTMLレポートに記録されます。
- フラッシュ:新しいレポートが作成され、前のレポートのデータが削除されます。
次の値は、テストのステータスを示すために使用されます:PASS、SKIP、FAIL、およびINFO。
エクステントレポートを作成する方法
エクステントレポートを生成するためのいくつかの前提条件は次のとおりです。
- Javaのプレインストールとセットアップ。
- TestNGのインストール。
- エクステントレポートジャー(バージョン2.41.2)のダウンロード。
- HTMLレポートの構成を可能にするextent-config.xmlの要件。
エクステントレポートを生成するために従う必要のある基本的な手順は次のとおりです。
- テストプロジェクトが作成されます。
- レポートjarファイルの範囲がダウンロードされます。
- エクステントレポートのjarファイルがプロジェクトに追加されます。
- 実装されたクラスが作成されます。
エクステントレポートを生成するための手順
- エクステントレポートは、extendreports-java-2.41.2.jarであるjarファイルをインポートすることにより、セレンのWebDriverで生成できます。 jarファイルの内容は、ダウンロードされたらディレクトリに抽出されます。
- ダウンロードしたZIPファイルから抽出したjarファイルをビルドプロジェクトに追加します。 オプションの[ビルドパス]->[ビルドパスの構成]が使用されます。
- 次のコードで報告される範囲のJavaクラスが新しく作成されます。
ソース
コードの説明
startTestメソッドを使用すると、テストの実行が開始されます。 エクステントレポートのオブジェクトが初期化されます。 エクステントレポートオブジェクトは、渡されるパラメータとしてユーザー定義のパスを使用します。
@beforeclass:エクステントレポートの使用は、コードによって示されます。
@test:次のアクションはこのクラスによって自動化されます:
- URLwww.google.comを介してChromeブラウザを開きます。
- ページタイトルは、開かれた後、期待どおりの値で検証されます。
- テストのケースのステータスは、エクステントレポートログ方式を使用してPASSまたはFAILとしてログに記録されます。
@afterclass:テスト事後条件のケースを実行するためのコードがこのクラスに含まれています。 これには、テスト終了またはレポートフラッシュのコードが含まれています。 メソッドflush()を使用しないと、セレンのエクステントレポートは生成されません。
エクステントレポートでスクリーンショットをキャプチャする
1.キャプチャの方法を介して
- テスト中にスクリーンショットキャプチャを使用することには、いくつかの利点があります。
- ソフトウェアが誤って動作し始めた場合、テスターはスクリーンショットを観察することで問題を特定できます。
- したがって、テストの実行で問題が発生した場合、画面キャプチャにより、テスターはテストスクリプトをデバッグできます。
- スクリーンショットは、キャプチャによってより多くのメモリが消費されるため、テストの失敗時にのみキャプチャする必要があります。
- スクリーンショットのキャプチャに使用される次のコードは、
ソース
2.コードの説明
- 現在のSeleniumWebDriverは、getScreenShotAs()のメソッドを介してスクリーンショットとしてキャプチャされます。 その後、さまざまな形式の出力に保存されます。
ファイルscrFile=((TakesScreenshot)driver).getScreenshotAs(OutputType.File);
- ファイルのオブジェクトは、getScreenShotAsのメソッドを介して返され、ファイルの変数に格納されます。 この方法を使用するには、スクリーンショットを撮るためにWebドライバーのインスタンスをキャストする必要があります。
File Dest = new File(“ scr /../ Errimages /” + System.currentTimeMillis()+“ .png”);
- 上記のコードを使用して、フォルダ「src」内に「ErrImages」という名前のフォルダが作成されます。 ファイルは、現在のシステムの時刻としてファイルの名前で作成されたフォルダーに保存されます。
文字列errflpath=Dest、getAbsolutePath();
Fileutils.copyFile(scrFile、Dest);
returnerrflpath;
- 生成されたエラーイメージは、宛先フォルダーにコピーされます。
3.ログ方式
- logメソッドには組み込みのメソッドが使用されます。 ExtentクラスのaddScreenCaptureは、スクリーンショットをキャプチャするために使用され、生成されたエクステントレポートに追加されます。
test.log(LogStatus.Fail、test.addScreenCapture(capture(driver))+“テストに失敗しました”);
エクステントレポートの利点
- エクステントレポートの使用は簡単です。
- 円グラフは、結果を表示するために使用されます。
- テストの合格ケースのパーセンテージが提供されます。
- 自然な方法で環境の詳細を追加する機能。
- 他のレポートと比較して、エクステントレポートはカスタマイズの提供を提供します。
- エクステントAPIを使用して、よりインタラクティブなレポートを生成できます。 インタラクティブレポートは、グラフィカルビュー、すべてのテストステップでのスクリーンショットキャプチャ、ダッシュボードビュー、および電子メールで送信できるレポートの形式である場合があります。
- JUnit、 TestNG 、およびNUnitフレームワークとの統合が可能です。
- テスト実行の並列実行は、すべての並列実行に対して単一のレポートを生成することで可能です。
- レポートを構成できます。
- すべてのテストケースの実行について、かかった時間が表示されます。
- 1つのスイートで複数のテストケースの実行を簡単に追跡できます。
- テストのレポートに基づいて、結果を除外できます。 また、段階的な結果は、pass / fail/infoのオプションを使用して除外できます。
- レポートの分類は、回帰/機能などのカテゴリに提供されます。
- テストステップのログをレポートに追加できます。
SeleniumでのExtentレポートの例
エクステントレポートMavenの生成プロセスを理解できるように例を示します。
ステップ1 :Mavenプロジェクトとクラスを作成し、ここで利用可能なコードを追加してBasicExtentReport.javaを作成します。
- HTMLスタンドアロンファイルは、「ExtentHtmlReporter」クラスから生成されます。
- 'ExtentHtmlReporter(java.io.File)'は、このクラスとパス'ExtentHtmlReporter(java.lang.String filePath)'によって受け入れられます。
- レポートを保存するためにファイルパスが渡されます。
- クラス'ExtentHtmlReporter'のメソッドconfig()を使用すると、さまざまな構成オプションを使用できます。 コードを使用してアイテムを変更し、タイムスタンプやレポート名などのエクステントレポートの外観を変更できます。
- テストの各ステップのステータスは「AfterMethod」によって報告されるため、エラーが発生した場合は、合格、不合格、スキップなどのテストのステータスが更新され、情報を提供するメッセージが生成されます。 これは、「result.getThrowable()」を介して行われます。
- ステータスのラベルは、レポートのステータスにも色を付けるMarkupHelperクラスを使用して作成されます。
ステップ2:ブラウザのOSとパラメータを渡すには、testng.xmlファイルを作成します。 コードは、前述のWebサイトで入手できます。
ステップ3 :別のコードがpom.cmlファイルに追加されます。
ステップ4:プログラムを実行すると、結果のレポートが生成されます。
ソース
失敗レポートを表示するには、失敗したテストをクリックします。 これにより、テストのステータスとテストの失敗の理由が表示されます。
エクステントレポートに関連するいくつかの追加事項は次のとおりです。
- 見た目のために、レポートに存在するテーマを変更することができます。
- ユーザーの便宜のために、ダッシュボードビューは非表示または表示される場合があります。
- 複数のテストを実行する場合、テストケースを段階的に検索できます。
- 開始時間と終了時間を含む、テストの実行にかかった合計時間がユーザーに表示されます。
- レポートには追加のフィルターがあります。 結果は、合格したテスト、不合格のテスト、情報のみが存在するテストケースなど、テストのステータスに応じてフィルタリングできます。
世界のトップ大学からオンラインでソフトウェアコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
カスタマイズ可能なレポートを生成するには、エクステントレポートが最適な方法です。 セレンを使用して簡単に構成できるオープンソースライブラリであるため、エクステントレポートはすべての自動化テスターにとって間違いなく最良の選択になっています。 この記事では、エクステントレポート、レポートの生成方法、およびそれらの有用性について簡単に説明しました。 エクステントレポートの生成の基礎となるソフトウェアプログラミングの知識を通じて、メリットを享受できます。
ソフトウェアプログラミングの利点を学び、探求したい場合は、 upGradが提供するソフトウェア開発のエグゼクティブPGプログラム–フルスタック開発の専門分野のコースを確認してください。 これは、21〜45歳の年齢層のエントリーレベルの専門家のために特別に設計されたコースです。 このコースは、オンライン講義と実践的な経験を伴うインタラクティブセッションのためのプラットフォームを提供し、トップ業界での配置保証を提供します。 私たちのチームはどんな質問にも対応できます。
Seleniumレポートビルダーとは何ですか?
Selenium ReportBuilderまたはSeleniumIDEは、Seleniumテストケースの作成と編集に役立つSelenium用のFirefoxプラグインです。 これにより、自動化プロセスがより効率的になり、さまざまなレポートを作成するために必要な労力が軽減されます。 これは、テストを実行するための快適な方法であり、現在のステータスの概要を提供します。 レポートは、テキスト、PDF、CSV、HTMLなどのさまざまな形式で生成されます。
Seleniumを使用して自動的にテストできるものは何ですか?
Seleniumは、テスト目的でWebアプリケーションを自動化するためのツールであり、回帰テストに使用できます。 Seleniumは、ユーザーがブラウザーで実行できるすべてのことを自動化できます。 ほとんどのWebサイトには、在庫の注文、注文の処理、Webサイトの更新などのタスクを従業員が簡単に実行できるようにする何らかの機能があります。Seleniumを使用して、WebベースのアプリケーションやWebサイトをテストできます。 これは、JAVAやC#などのさまざまなプログラミング言語をサポートする高級言語です。 Seleniumはブラウザーを自動化するために使用され、Webアプリケーション開発者にWebアプリケーションに対して実行される自動テストを作成する機能を提供します。
Seleniumグリッドとは何ですか?
Selenium Gridは、複数のブラウザー(または他のグリッドノード)で自動テストを実行できるようにするツールです。 複数の構成(場所、ブラウザー、オペレーティングシステム)と複数のブラウザーを同時に使用して、これらのテストを並行して実行できます。 テスト自体は、GUIをまったく必要としないように、ヘッドレスモードで実行できます。 グリッドは非同期のジョブ実行を提供し、数百のジョブを同時に管理することができます。 したがって、Seleniumグリッドは、テストケースを実行するためのハブアンドスポークモデルです。 グリッドを使用すると、ユーザーは複数のブラウザーをプールして単一のテストケースを実行できます。 セットアップが完了すると、オンデマンドまたはスケジュールに従って、複数のマシンまたはブラウザーでテストを実行するために使用できます。 Selenium Gridを使用して、テストの実行を並列化し、テストをスケーリングし、テストカバレッジを増やすことができます。