レポーター.ReportEvent UFT/QTP 例を挙げて

⚡ スマートサマリー

レポーター.ReportEvent UFT/QTP micPass、micFail、micDone、micWarning ステータス定数を使用して、カスタムの合格、不合格、警告、および情報メッセージを実行結果ビューアに直接送信し、テスターに​​自動化スクリプトが実際に行ったことを段階的に読みやすい記録として提供します。

  • 🎯 定義: Reporter.ReportEvent はカスタムステータスとメッセージを書き込みます UFT 組み込みのチェックポイントとは独立した結果ツリー。
  • 🧩 構文: このメソッドは、EventStatus、ReportStepName、Details、およびオプションの画像ファイルパスをこの順序で受け取ります。
  • 🚦 ステータス定数: micPass、micFail、micDone、micWarningはそれぞれ、ステップの色と実行ステータスが変化するかどうかを設定します。
  • 飲料衣<XNUMXxXNUMX><XNUMXxBC><XNUMXxBC> スクリーンショット: キャプチャしたビットマップのパスを4番目の引数として渡すと、失敗したステップに画像を添付できます。
  • ⚙️ プロパティ: Reporter.Filter、Reporter.ReportPath、およびReporter.RunStatusを使用すると、ログに記録される内容と結果の保存場所を制御できます。
  • 🧪 例: ReportEventをIf…Thenチェックで囲み、各ステップが実際の結果に基づいて合格または不合格を報告するようにします。
  • 🚫 フィルタリング: CI 実行中は Reporter.Filter を rfEnableErrorsAndWarnings に設定して、通過したステップによって真の失敗が隠蔽されないようにしてください。
  • 📊 カスタムレポート: results.xmlをXSLまたはVBScriptライブラリと組み合わせることで、関係者が期待する形式で結果を表示できます。

Reporter.ReportEvent とは何ですか UFT/QTP?

Reporter.ReportEvent 標準メソッドとして組み込まれています UFT/QTP (現在は販売されています) OpenTextマイクロフォーカス UFT 1つ目は、テスト結果ウィンドウにカスタムの人間が読めるメッセージを直接書き込む機能です。組み込みのチェックポイントが生成する自動的な合格または不合格の判定とは異なり、ReportEvent 呼び出しを使用すると、テスターはログに記録する内容、タイミング、およびラベル付け方法を正確に決定できます。

この HP QTP チュートリアル 関数の使用方法を示します Reporter.ReportEvent (NAIST) と 結果のフォーマットチュートリアルでは短いスクリプトを作成するように指示されていますが、そのスクリプト作成演習を完了することが、カスタムレポートが結果ツリーをリアルタイムで更新する様子を確認する最も速い方法です。

詳しくはこちら こちら ビデオにアクセスできない場合

Reporter.ReportEvent は、スクリプトが通常、スケジュールに基づいて、または CI/CD パイプライン内で無人で実行されるため、自動化において最も重要です。実行結果ファイルは、何が起こったかの唯一の記録となるため、手順がサイレントに失敗したり、説明なしに成功したりすると、後でデバッグが非常に困難になります。重要なアクションの後に明示的な ReportEvent 呼び出しを追加することで、結果ツリーが読みやすいステップバイステップの監査証跡となり、テスター、開発者、または管理者はスクリプト自体を開かなくても確認できます。

これはオブジェクトチェックポイントとは異なり、 UFT は自動的に生成し、独自のデフォルトのステップ名を使用してレポートします。Reporter.ReportEvent を使用すると、「WebEdit オブジェクトでチェック ポイント パス」という一般的な表現ではなく、「注文確認が表示されました」などのビジネス上意味のある言語を添付できるため、技術的な知識のない関係者でも最終レポートをはるかに簡単に読み取ることができます。このメソッドは、スクリプトが Web ページ、 Windows Reporterは特定のテストオブジェクトのプロパティではなくグローバルオブジェクトであるため、デスクトップアプリケーションまたはメインフレーム端末で使用できます。

Guru99の UFT/QTP このシリーズでは、この方法をすぐ後に取り上げています if、else、およびexists文なぜなら、ほとんどの Reporter.ReportEvent 呼び出しは、結果を micPass または micFail として報告するかどうかを決定する条件ブロック内に位置するからです。

Reporter.ReportEvent構文とEventStatus値

あなたが使用することができます Reporter.ReportEvent Micro Focusでカスタムテストステップを報告する UFTテスト結果ツリー。このメソッドは、以下に示すように、3 つの必須引数と 1 つのオプション引数を固定の順序で受け取ります。

Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]

イベントステータス ステップに表示されるアイコンと色を設定し、全体の実行ステータスを切り替えることができます。 レポートステップ名 テスト結果ツリーに表示される短いラベルで、通常は期待される結果として記述されます。 Details より長い説明、通常は実際に観察された結果を保持します。そしてオプション 画像ファイルパス スクリプト内で先に取得したスクリーンショットを、その特定の手順に添付します。

VALUE CONSTANT 結果への影響 実行ステータスへの影響
0 micPass 結果ツリーでは、ステップは「合格」と表示されます。 変更なし。テストは合格として継続されます。
1 マイクの失敗 結果ツリーでは、このステップは失敗と表示されます。 全体的な実行ステータスが失敗に変更されました
2 マイク完了 ステップは情報メッセージとして表示されます 合否判定に変更なし
3 マイク警告 ステップは警告として表示されます 合否判定に変更なし

各定数は、名前の代わりに数値として渡すこともできます。 Reporter.ReportEvent 1、「ステップ」、「詳細」 まさに Reporter.ReportEvent micFail、「ステップ」、「詳細」名前付き定数を使用すると、後で別のテスターが保守するスクリプトでも読みやすくなります。

スクリプトでは、通常、1つのアクション内に複数のReportEvent呼び出しをネストします。アクション開始前のmicDoneエントリ、キーチェックのためのmicPassまたはmicFailエントリ、そして途中で異常が検出された場合の追加micWarningエントリなどです。

  • 自動化ツールを使用してテストケースを実行すると、一部のユーザーにとって生のテスト結果を理解するのが難しい場合があります。 results.xml は、テスト結果を好みの方法で表示する XSL ファイルを作成します。.
  • 使用することもできます VBScript ライブラリ関数 結果をxlsファイルまたはテキストファイルに保存する 外部の報道について UFT.

Reporter.ReportEvent の使い方:実践例

構文を知っていることと、実際のスクリプトの中でそれを見ることは全く別物です。4つのステータス定数の意味を理解するには、構文を理解することが重要です。以下の例では、チェックをIf…Then…Elseステートメントで囲み、Reporter.ReportEventを使用して合格または不合格を報告することで、レビュー担当者が期待する結果が結果ツリーの適切な場所に表示されます。

If Browser("Guru99 Demo").Page("Guru99 Demo").WebButton("Login").Exist(5) Then
    Reporter.ReportEvent micPass, "Login button check", "Login button was found on the page"
Else
    Reporter.ReportEvent micFail, "Login button check", "Login button was not found on the page"
End If

これは、以下に示すパターンを反映しています。 Guru99の VBScriptの条件文 このチュートリアルでは、If…Then…Else ブロックが 2 つの結果から選択するようになっています。唯一の違いは、各分岐で Reporter.ReportEvent を呼び出して結果をログに記録することです。

  マイク完了 純粋に情報提供を目的としたステップ、そして マイク警告 何か異常なことが起こったように見えるが、実行が即座に失敗すべきではない場合。次のコードスニペットは、データ入力ステップを「完了」としてログに記録し、応答の遅さを「警告」としてフラグ付けし、オプションの ImageFilePath 引数を使用してスクリーンショットを添付します。

Reporter.ReportEvent micDone, "Enter search text", "Typed 'UFT tutorial' into the search box"
errorImage = "C:\Results\SearchDelay.png"
Browser("Guru99 Demo").CaptureBitmap errorImage, True
Reporter.ReportEvent micWarning, "Search response time", "Results took longer than 5 seconds to load", errorImage

キープ レポートステップ名 短く保ち、 Details 実際の結果を明確に示しましょう。夜間実行が失敗した後に数百ものログステップをスキャンするレビュー担当者は、スクリプト自体を開かなくても何が起こったのかを把握できるはずです。すべてのアクションで一貫した命名パターンを使用することで、スキャンがはるかに速くなります。

複数のスクリプトから ReportEvent を呼び出すチームは、このロジックを LogStep(status, name, details) のような共有 VBScript 関数に移動させることがよくあります。これにより、すべてのスクリプトが同じ If…Then ブロックを繰り返すことなく、一貫した結果ツリーを生成できます。

レポーターオブジェクトのプロパティ:フィルター、レポートパス、および実行ステータス

Reporter.ReportEvent は Reporter オブジェクトのメンバーの唯一のものではありません。さらに 3 つのプロパティにより、結果の内容と場所をより詳細に制御できます。 UFT それらは保存され、生産自動化フレームワークで頻繁に登場します。

PROPERTY 目的 一般的な使用例
フィルター 結果に書き込まれるイベントの種類を制御します Reporter.Filter = rfEnableErrorsAndWarnings は、長時間実行時に通過したステップを非表示にします
レポートパス 読み取り専用。現在の実行結果が保存されているフォルダを返します。 結果フォルダ = レポーター.レポートパス
実行ステータス 読み取り専用。これまでの実行の合否ステータスを返します。 Reporter.RunStatus = micFail の場合、アクションを終了します。

Reporter.Filter は 4 つの値を受け入れます。0 または rfEnableAll はすべてのイベントを表示し、これがデフォルトです。1 または rfEnableErrorsAndWarnings は通過したステップを非表示にします。2 または rfEnableErrorsOnly は通過したステップと警告の両方を非表示にします。3 または rfDisableAll は結果のログ記録を完全に無効にします。スクリプトの途中で Reporter.RunStatus を確認すると、テストは独自のロジックを分岐させることができます。たとえば、スキップできます。ping 前のステップが既に失敗した場合に、アクションの残りのステップを実行する。

ReportPathとRunStatusは読み取り専用であるため、値を割り当てることはできません。これらは、現在の実行に関する情報を読み取るために使用します。たとえば、スクリプトの開始時に結果フォルダーのパスをログファイルに書き込んだり、致命的なエラーが発生した後に長時間の処理を中断したりする場合などです。これらのプロパティを読み取る際のオーバーヘッドはごくわずかであるため、長時間の回帰テストスイートの主要なステップごとにReporter.RunStatusをチェックしても、実行速度が著しく低下することはありません。

Reporter.ReportEvent のベストプラクティス UFT

いくつかの習慣を身につけることで、カスタムレポートは煩雑なものではなく、役立つものとなる。

  • micFailは、真の故障のために予約しておいてください。 micFail を呼び出すたびに Reporter.RunStatus が反転するため、見た目の問題にこれを使用すると、同じ実行の後半で発生する本当の欠陥が隠蔽されてしまいます。
  • ReportStepNameを期待される結果のように記述してください。 レビュー担当者は、詳細欄を読まなくても、ステップ名だけでチェック内容を理解できるべきである。
  • 失敗した場合のみスクリーンショットをキャプチャする: 全てのステップでImageFilePathを渡すと、結果フォルダがすぐにいっぱいになり、実行速度が低下するだけで、ほとんどメリットがありません。
  • ノイズの多い実行をフィルタリングする: スケジュール実行または CI 実行の場合、Reporter.Filter を rfEnableErrorsAndWarnings に設定して、通過したステップによって重要な失敗が埋もれてしまわないようにします。
  • ロジックを一元化する: Reporter.ReportEvent 呼び出しを再利用可能な内部でラップします アクション または関数ライブラリを使用して、スイート内のすべてのスクリプトが同じ方法で結果をログに記録するようにします。
  • 非技術系の読者向けにエクスポート: 結果を確認する必要がある場合は、QA チーム以外の関係者が結果ファイルを開かずに確認できるように、results.xml とカスタム XSL を組み合わせてください。 UFT.

よくあるご質問

ReportEvent は、結果ツリーにプレーンテキストを書き込みます。ReportHTMLEvent は、 UFT バージョン12.52では、ステップ名と詳細にHTMLを受け入れるため、実行結果ビューアでテキストを太字、色付け、または書式設定できます。

いいえ。micFailのみが全体の実行ステータスをFailに変更します。micDoneとmicWarningはどちらも結果ツリーに情報を書き込みますが、警告がログに記録されていてもテストはPassedとして終了する可能性があります。

はい。オブジェクトの CaptureBitmap メソッドを使用してビットマップをキャプチャし、ファイルに保存して、そのファイルパスをオプションの 4 番目の ImageFilePath 引数として渡してください。 UFT そのステップのキャプチャデータペインに画像を表示します。

はい。AIコーディングアシスタントは、チェックの平易な言葉による説明からIf…ThenとReportEventの定型文を生成でき、micFailを誤用したりDetailsをスキップしたりするスクリプトを検出できます。ただし、テスターはログに記録されたステータスが実際の結果と一致していることを確認する必要があります。

AIを活用した監視ツールは、実行結果を自動的に要約し、異常値を強調表示できますが、Reporter.ReportEventは、開発者が制御する正確なステップ名とステータスを提供し、それらのツールに情報を提供します。ほとんどのチームは、どちらか一方を他方に置き換えるのではなく、両方を併用しています。