Ranorex Studio Image-based automation
Help CenterUser GuideRanorex Studio advanced

イメージベース オートメーション

自動化されたソフトウェア テストは通常、ユーザー インターフェース要素(UI 要素) の認識をベースにしています。それらの多くは、テキスト情報を使用して識別されるかもしれません。あるいは、テキストではなく、ピクセル イメージの認識が必要になる場合もあるかもしれません。ここで、イメージベース オートメーションは、UI 要素を識別、検出、適用するための方法の一つです。この章で、詳しく説明します。

tipp icon

注意

イメージベース オートメーションを実行する場合には、Ranorex Studio の設定で、キーボード/マウス イベントの非同期ディスパッチを使用する を有効にしてください。この設定が無効化されている場合、多くのケースでテストがエラーとなる原因となります。

サンプル ソリューション

この章の説明は、サンプル ソリューションを使用しておこないます。サンプル ソリューションは以下からダウンロードできます。

サンプル ソリューション

Theme: Image-based automation
Time: Less than 30 min

Download sample file

インストール:

任意のフォルダーに解凍します。
Ranorex Studio を起動し、ソリューション ファイル ImagebasedAutomation.rxsln を開きます。

tipp icon

ヒント

このサンプル ソリューションは、Ranorex Studio 8.0 以降で利用できます。8.2 以降を利用している場合には、ソリューションのアップグレードをおこなってください。

イメージベース オートメーションの有効化/無効化

イメージベース オートメーションの有効化/無効化は、Recorder control center で、レコーディング中にいつでも切り替えできます。

Turning image-based automation on/off

Turning image-based automation on/off

Ranorex Recorder のイメージベースの切り替えスイッチ
イメージベース オートメーションを有効にした状態

Activation of image-based automation through Recorder hotkeys

Activation of image-based automation through Recorder hotkeys

ホットキーのスイッチ
I キーの押下で、イメージベースを有効化

イメージベース オートメーションを使用する理由

GUI ソフトウェアの自動テストで、イメージベース オートメーションを使用する理由は、明確ではないかもしれません。このセクションでは、テキストベースの自動化が失敗し、イメージベースの自動化が解決となる 1 つの例を説明します。

サンプルの準備

この例では、デモ アプリを使用します。アクションをレコーディングするために、Ranorex Recorder のインスタント レコーディング機能を使用します。

Example for image-based automation

Example for image-based automation

デモ アプリを起動し、Image-based automation タブを選択します。
Ranorex Studio で、ソリューション ウィザードを使用して新しいソリューションを作成し、Recording1 を開きます。
Recording1 のレコーディング モジュール ビューで、RECORD をクリックします。

テキストベースのレコーディング

デフォルトのテキストベースのモードで、デモ アプリのカレンダー ビューで、3 つの連続した日付をトラッキングし、結果を確認します。

Tracking & recording calendar dates in text-based automation

Tracking & recording calendar dates in text-based automation

テキストベース オートメーションが有効なこと (つまり、イメージベース オートメーションが無効化されていること) を確認します。
カレンダーの日付、’24’, ’25’, ’26’ のクリックをレコーディングします。
カレンダーのマウス クリックを表す 3 つのアクションが、アクション テーブルに表示されます。

レコーディングの結果

テストを実行し、レコーディングが正常に完了したことを確認します。

  • レコーディングした日付が正しく認識されていること
  • レポートの各クリック アクションが、カレンダーの正しい日付に対応していること
Successful test run of calendar dates recording

Successful test run of calendar dates recording

テスト条件の変更

テストの条件が変更されたことを仮定します。例えば、レコーディング時とテスト実行時の時間経過により、カレンダーが別の月の表示になっているとします。

Change in test conditions

Change in test conditions

カレンダーの表示を、January 2018 から February 2018 に変更します。レコーディングした日付、’24’, ’25’, ’26’ が、別の位置になっています。

テストの実行結果を確認してみましょう。

Test result with changed test conditions

Test result with changed test conditions

結果の解釈

  • テストは失敗なく実行され、成功がレポートされています。
  • しかし、元々トラッキングした位置の日付が識別されており、カレンダー変更後の正しい位置ではないため、このテスト結果は間違っています。
tipp icon

注意

Ranorex は、特定のクリック位置の UI 要素 (カレンダー内の日付など) を識別できない場合があります。テキストベース オートメーションでは、グラフィカルな UI 要素ではなく、絶対あるいは相対位置を格納していることで、ここで説明したような問題が発生します。

まとめ

次の章で、イメージベース オートメーションが、この問題をどのように解決するのかを説明します。