Ranorex 10.7 以降 でフルスクリーンショットを取得する方法

今回の記事では、Ranorex 10.7 以降 を使用して、テスト実行中にフルスクリーンショットを取得する方法についてご紹介します。

目次

  1. Ranorex 10.2.2 以前のバージョンをお使いの場合
  2. TakeFullScreenshotメソッドについて
  3. 注意事項
  4. ①TakeFullScreenshotメソッドを使用する方法
  5. ②ReportFullPageScreenshotメソッドからTakeFullScreenshotメソッドを呼び出す方法
  6. ビルドに失敗した場合
  7. 補足

Ranorex 10.2.2 以前のバージョンをお使いの場合

Ranorex 10.2.2 以前のバージョンをお使いの場合、RarenoxのオートメーションヘルパーにあるWebLibraryの ReportFullPageScreenshotメソッド を使用することで、フルスクリーンショットを取得することができます。
しかし、Ranorex 10.7 以降では、 ReportFullScreenshotメソッドが実行できない不具合が発生しているため、本記事でご紹介するTakeFullScreenshotメソッドを使用してください。

TakeFullScreenshotメソッドについて

TakeFullScreenshotメソッドは、ブラウザの標準機能である開発者ツールやショートカットを使用して、フルスクリーンショットを取得します。
撮影されたフルスクリーンショットは、レポートに表示されます。

注意事項

【注意事項1】サポート範囲について
  • TakeFullScreenshotメソッドは、動作保証されたものではなく、開発元による対応までの暫定対応策となります。
    必ずご自身の環境で動作を確認してから、ご利用ください。
  • 下記の場合、ご自身でのユーザコードコレクションファイルの修正が必要になります。
    • ブラウザの機能に問題が発生した場合
    • ブラウザの機能を使用するための導線が変更された場合
    • 環境依存の問題により、TakeFullScreenshotメソッドが使用できない場合
【注意事項2】TakeFullScreenshotメソッドの動作対象について
  • Webアプリが対象です。
  • IEは対象外です。※Edgeは対象になります。

①TakeFullScreenshotメソッドを使用する方法

  1. ユーザコードコレクションファイル(FullScreenshotLibrary.cs)をダウンロードする。
  2. プロジェクトファイル を右クリックし、手順1でダウンロードしたコレクションファイル(.cs)をインポートする。





  3. プロジェクトメニュー から、「 System.Management 」パッケージを追加する。



  4. 新しいアクションの追加 から、「 FullScreenshotLibrary 」 の「 TakeFullScreenshotメソッド 」 を選択する。


  5. TakeFullScreenshotメソッドに、引数を設定する。
    第1引数:スクリーンショットしたいWebページを表すリポジトリアイテムを設定してください。
         ※【補足1】を参照
    第2引数:スクリーンショットの取得処理のみに対し、待機時間(ミリ秒)を設定できます。
         ※設定しなかった場合や1500未満の値を設定した場合は、初期値の1500ミリ秒が適用されます。
    第3引数:スクリーンショットの取得に必要な操作の全工程に対し、追加の待機時間(ミリ秒)を設定できます。
         ※設定しなかった場合や0未満の値を設定した場合は、、初期値の0ミリ秒が適用されます。

②ReportFullPageScreenshotメソッドからTakeFullScreenshotメソッドを呼び出す方法

既にオートメーションヘルパーのReportFullPageScreenshotメソッドを使用している場合は、こちらの方法を使用してください。

  1. ユーザコードコレクションファイル(FullScreenshotLibrary.cs)をダウンロードする。
  2. RanorexAutomationHelpersフォルダ > UserCodeCollectionフォルダ を右クリックし、手順1でダウンロードしたコレクションファイル(.cs)をインポートする。





  3. RanorexAutomationHelpersフォルダを右クリックし、「 System.Management 」パッケージを追加する。



  4. RanorexAutomationHelpersフォルダ > UserCodeCollectionsフォルダ の「 WebLibrary.cs 」を修正する。


    ■追加するコード①
    using TmxAutomationHelpers = Tmx.AutomationHelpers.UserCodeCollections;


    ■追加するコード②
    TmxAutomationHelpers.FullScreenshotLibrary.TakeFullScreenshot(null, 1500, 0);
    return;


  5. プログラム上で、TakeFullScreenshotメソッドに引数を設定する。
    第1引数:「 null 」を使用してください。
         ※【補足1】を参照
    第2引数:スクリーンショットの取得処理のみに対し、待機時間(ミリ秒・整数型)を設定できます。
         ※設定しなかった場合や1500未満の値を設定した場合は、初期値の1500ミリ秒が適用されます。
    第3引数:スクリーンショットの取得に必要な操作の全工程に対し、追加の待機時間(ミリ秒・整数型)を設定できます。
         ※設定しなかった場合や0未満の値を設定した場合は、、初期値の0ミリ秒が適用されます。

ビルドに失敗した場合

ビルドに失敗した場合、下記のパッケージが不足している可能性があります。
  • System.IO
  • System.Linq
  • System.Runtime.InteropServices
  • System.Management
下記手順にて、パッケージを追加してください。
  1. パッケージ管理ダイアログを開く。


    ※ReportFullPageScreenshotメソッドからTakeFullScreenshotメソッドを呼び出している場合は、Ranorex Automation Helpersにパッケージを追加してください。
     
  2. パッケージを検索し、追加する。
  3. ライセンスに同意する。

補足

【補足1】TakeFullScreenshotの第1引数について
  • 将来的に、ReportFullPageScreenshotメソッドの不具合が修正された場合に使用する、予約引数です。
  • ReportFullPageScreenshotメソッドの不具合が修正された場合、この引数に、ReportFullPageScreenshotメソッドの引数に使用する「スクリーンショットしたいWebページを表すリポジトリアイテム」を設定します。この引数を使用するコードの修正方法については、ユーザコードコレクションファイル(FullScreenshotLibrary.cs)内のコメントを参照ください。
【補足2】開発者ツールのWindow化について
  • フルスクリーンショットを取得する際、開発者ツールを使用します。
    開発者ツールを開いたことにより、画面のデザインが変更されてしまう場合は、事前に開発者ツールをWindow化してください。

【補足3】Firefoxについて
  • Firefoxで取得したスクリーンショットがフルスクリーンショットではなく、通常のスクリーンショットになっている場合があります。
    この場合、「Ctrl+Shift+S」の後に表示される画面で、「Shift+Tab」を使用し、カーソルを「ページ全体を保存」に合わせてから、実行してください。

【補足4】重い環境での動作について
  • マシンの動作が重い場合、メソッドの失敗率が高まります。
    その場合、下記の対処をおこなってください。
    1. TakeFullScreenshotメソッド実行前にディレイアクションを追加して、以前のアクションの結果が完全に反映された状態にする。
    2. TakeFullScreenshotメソッドの第3引数を使用して、画面の反映に余裕を持たせる。
【補足5】オフライン環境の場合について
  • オフライン環境下では、パッケージ管理の「nuget.org」からパッケージを追加できません。
    その場合、下記の対処をおこなってください。
    ※例として、「System.Management」パッケージのリンクが設定されています。
    1. NuGet Galleryから対象パッケージのページを開く
    2. 画面右のメニュー > About > Download package をクリックし、.nupkgファイルをダウンロードする
    3. Ranorex > トップメニュー > ツール > オプション > パッケージ管理 > パッケージソース を開く
    4. 「…」ボタンから、手順2でダウンロードしたファイルが格納されているフォルダを参照する
    5. 追加したパッケージソースのチェックボックスを有効化し、OKボタンをクリックする
    6. Ranorex > トップメニュー > プロジェクト > パッケージの管理 を開く
    7. ダイアログ右上のドロップダウンにて、追加したパッケージソースを選択する
    8. 表示されたパッケージを追加する