specflow reporting how generate test reports
Specflowレポートジェネレータチュートリアル:Specflowでテストレポートを生成して選択テストを実行する方法:
これで すべての人のためのSpecflowトレーニングチュートリアル 、私たちはすべてを探索しました Picklesを使用したリビングドキュメントの生成 前のチュートリアルで。
このチュートリアルでは、Specflowフレームワークで記述されたテストのレポートを作成するためのさまざまな手法について説明します。
生成されるレポートのタイプは、使用されているテストランナーのタイプにも大きく依存します。ランナーの無料版と有料版の両方が利用可能で、それぞれに長所と短所があります。
テストランナーとしてのNUnitとSpecflowレポートテンプレートを組み合わせてレポートを作成し、NUnitで生成されたテスト出力ファイルからHTMLレポートを生成する方法について詳しく説明します。
学習内容:
Specflowレポート
ビデオを見る:Specflowレポートのビデオチュートリアルを見る
テストレポートの生成–前提条件
テストレポートの生成を開始する前に、すべての前提条件が利用可能またはインストールされていることを確認しましょう。
NUnitテストランナーでSpecflowテンプレートを使用するYouTube検索の同じテスト例を使用します。レポートの生成を開始するには、Specflowテストを実行するためのNUnitコンソールが必要です。
Windows用の実行可能パッケージファイルをダウンロードしてNUnitコンソールをインストールします ここに 。 NUnit-Console -3.9.0 MSIパッケージをダウンロードし、ダウンロードしたパッケージファイルを実行して、NUnitコンソールのステップバイステップのインストールを完了します。
正常にインストールされると、ProgramFilesフォルダーにNunitフォルダーが表示されるはずです。
以下のスクリーンショットを参照してください。
Specflowレポートの生成は、NUnitと同じように、MSUnitなどの他のフレームワークでも機能します。
ステップバイステップのプロセス
#1) NUnitコンソールを使用してテストを実行し、XMLレポートを作成します。
- Visual StudioでSpecflowProjectをコンパイルし、コンパイルエラープロジェクトdllファイルが作成されていないことを確認します。作成されたDLLファイルは、VisualStudioプロジェクトのDebug / Releaseフォルダーにあります。
- 次に、コマンドプロンプトを開き、NUnitコンソールの基本の場所に移動します。
- Specflowテストを実行するには、次のコマンドを実行します。
最初に構文を見てみましょう。
nunit3-console.exe 'result={PathToReportLocation};format=nunit2' {SpecflowProjectDllPath}
Macで7zファイルを解凍する方法
上記のコマンドを実行すると、機能ファイルにすべてのシナリオが表示され、実行が開始されます。テストの完了後、NUnit実行からのXML結果ファイルがで指定された場所で生成されることを確認します。 結果 上記のコマンドのパラメータ。
また、Specflowの現在のバージョンはNUnit 3をサポートしていないため、生成されたレポートの形式は「NUnit2」として選択されていることに注意してください。このサポートが利用可能になったら、レポート形式オプションを削除できます。
#二) 次に、specflow.exeアプリケーションを使用してHTMLレポートを作成します。
specflow.exeアプリケーションは、NUnitによって生成されたXMLレポートを実行し、見栄えの良いHTMLレポートを生成します。 specflow.exeは、specflowがインストールされたプロジェクトのnpmパッケージフォルダーにある実行可能アプリケーションです。
Specflow実行可能ファイルの場所については、以下のスクリーンショットを参照してください。
このアプリケーションによって生成されるレポートはHTML形式であり、機能ごとにグループ化された実行済みシナリオの要約が含まれています。
次の手順を実行して、NUnitコンソールの実行によって生成されたXMLレポートからHTMLレポートを生成します。
- コマンドプロンプトを開き、Specflow実行可能ファイルに移動します。
- 次に、以下の構文でコマンドを実行して、HTMLレポートを生成します。
specflow.exe nunitexecutionreport --ProjectFile {PathToProjectSln.csproj} --xmlTestResult {PathToNUnitReportXml} --OutputFile {DesiredPathToGenerateHtmlReport}
- 上記のコマンドの実行が完了したら、指定したフォルダーの場所でHTMLレポートが生成されることを確認します。
生成されたレポートを開いて、さまざまなセクションを見てみましょう。レポートに示されている重要なセクションを以下に示します。
ご覧のとおり、上記のレポートははるかに読みやすく、解釈しやすく、プロジェクトのすべての利害関係者が全体的なテスト実行の概要を垣間見るのに役立ちます。
選択的テストの実行
多くの場合、いくつかの選択的なテスト、テストスイート全体のサブセット、またはいくつかの特別なカテゴリでマークされたテストを実行する必要があります。これはすべて、以前の記事で見たSpecflowタグを介して可能です(機能レベルとシナリオレベルの両方で適用できます)。
したがって、テストのサブセットのみを実行するために、Specflowタグを使用してそのようなシナリオにマーク/ラベルを付けることができ、NUnitコンソールランナーを実行しているときに、コマンドの一部としてカテゴリを指定できます。
選択的なテスト実行を実行するためのステップバイステップのプロセスを見てみましょう。
#1) Visual Studioプロジェクトを開き、選択的に実行するシナリオ/機能に「選択的」という名前のタグ/カテゴリをタグ付けしましょう。
#二) 変更が行われるようにソリューションをコンパイルすると、変更が更新された新しいDLLが作成されます。
#3) ここで、コマンドプロンプトを開き、上記の手順に従ってNUnitコンソールアプリケーションでテストを実行します。
#4) NUnit実行可能ファイルは、テストフィルターを調べて、指定されたフィルターに一致するすべてのテストを検索しようとします。この場合、すべての機能/シナリオをカテゴリ「選択的」と一致させ、それらのテストのみを実行しようとします。
1つのシナリオにこのタグを付けただけなので、NUnitテストランナーが1つのテストだけを実行することを期待する必要があります。
nunit3-console.exe '--result={PathToReportFile};format=nunit2' --where 'cat == selective' {PathToSpecflowSeleniumProjectDll}
上記のように、「cat == selective」のようなフィルターについて説明しました。 NUnitアプリケーションは、これを値「selective」のカテゴリフィルターとして解釈します。
#5) 上記のコマンドの実行が完了すると、コンソールにテストの概要(およびNUnitによって生成されたXMLレポート)が表示されます。
#6) これで、そこからHTMLレポートを作成できます(Specflow実行可能ファイルを介してHTMLを生成する手順に従います)。生成されたHTMLは次のようになります。
NUnitは1つのテストを実行しただけなので、生成されたHTMLレポートには1つの機能と1つのシナリオのみが表示されます。
HTMLレポートがどのように表示されるかを見てみましょう。
結論
このチュートリアルでは、Specflow実行可能ファイルを介してHTMLレポートを生成するとともに、Specflow機能テストを実行するさまざまな方法について説明しました。生成されたレポートは読みやすく、解釈しやすく、プロジェクトのすべての利害関係者に役立ちます。
また、Specflowタグを使用して、テストスイート全体ではなく、テストのサブセットを実行する手法も確認しました。これにより、NUnitは特定のシナリオを検索/フィルタリングし、指定されたフィルター基準に一致するシナリオのみを実行できます。
今後のチュートリアルをチェックして、Specflowで最もよくあるインタビューの質問を調べてください。
前のチュートリアル | 次のチュートリアル
推奨読書
- Specflow機能ファイルのPicklesを使用してリビングドキュメントを生成する
- TestLinkを使用して要件を管理し、テストケースを実行し、レポートを生成する方法–チュートリアル#2
- SeleniumWebDriverでエクステントレポートを生成するためのガイド
- AndroidアプリのAppiumテストを作成する
- ステップ引数の変換とSpecflowテーブル
- Appiumテストの大規模な実行を並行して実行する方法
- Appium Studio forEclipseを使用してAppiumテストを並行して実行する
- Specflowチュートリアル:BDDツールの究極のガイド