Ranorexの「設定」:テスト実行速度の調整
本記事では、Ranorex ユーザー様からのお問合せとしてよくいただく、テスト実行速度の変更オプションについて説明します。
テストケースが多く、テスト実行に時間が掛かる場合や、テスト対象アプリケーション画面のロード時間に影響し、テスト実行時の画面操作が安定しない場合などにおいては、テスト実行速度の調整をおこなう以下のオプションを使用することで対応できます。
- オブジェクトの検索時間: テスト実行時に、Ranorexが各オブジェクトの検索を開始してからタイムアウトするまでの時間
- アクションの実行時間:レコーディングモジュールの実行アクションの間隔やアクション(マウス移動やキーボード入力)に掛かる実行時間
上記のオプションは、個々のオブジェクトおよび、アクションのプロパティまたは、Ranorexの「設定」で変更することができます。Ranorexの「設定」にあるオプションを変更することで、ソリューションやレコーディングモジュール単位で設定することが可能です。
※Ranorexの「設定」にあるオプションを使用する場合は、テストのレコーディング時に生成されるオブジェクトおよび、アクションに対してオプションの設定が適用されるため、テストのレコーディング前にオプションの設定をおこなう必要があります。
Ranorexの「設定」
Ranorexの「設定」にあるオプションは、ソリューション全体または、レコーディングモジュール単位で指定することが可能です。
① ソリューション全体
Ranorex Studioにて、ソリューションを開き、下図のボタンをクリックすることで、「設定」画面を開きます。
「設定」で、下図のように文章の末尾に * が表記されているオプション(ソリューション設定*)は、開いてるソリューションのみに反映されます。
※Ranorex Studioにて、ソリューションを開かずに、「設定」のオプションを変更した場合は、新規作成のソリューションに変更内容が反映されます。
② レコーディングモジュール単位
Ranorex Studioにて、対象のレコーディングモジュールを開き、下図のボタンをクリックすることで、「設定」画面を開きます。
レコーディングモジュール単位で指定できるオプションは、「設定」の”現在のリポジトリ”と”現在のレコーディング”タブのみとなり、その他のタブにあるオプションは、ソリューション全体に反映されます。
オブジェクトの検索時間
オブジェクトの検索時間は、テスト実行時に、Ranorexが各オブジェクトの検索を開始してからタイムアウトまでの時間になり、指定した時間内にオブジェクトが見つからない場合にテストの失敗としてレポートされます。
たとえば、テスト対象アプリケーション画面のロード時間が長く、画面のロードが終了する前にタイムアウトになる場合は、オブジェクトの検索時間を長くすることで、テストを安定させることができます。
テストのレコーディング前に、”リポジトリの初期設定”タブにて、下図(赤枠)の検索タイムアウトの値(単位:ms)を変更することで、設定後のレコーディングで取得されたオブジェクトに反映されます。
※既存のオブジェクトには、オプションを変更しても反映されません。
オプションには、”アプリフォルダー”、”ルートフォルダー”、”アイテム”(リポジトリアイテム)の検索タイムアウトの値を指定できるようになっています。
これらの検索タイムアウトの合計値が、オブジェクトの検索時間となります。
下図は、リポジトリ内にあるオブジェクト情報になり、1つのオブジェクトを構成するのに、”アプリフォルダー”、”ルートフォルダー”、”アイテム”(リポジトリアイテム)が使用されていることが分かります。
①アプリフォルダー:アプリケーションすべてのリポジトリ要素を含む、ツリー構造の最上位フォルダ
②ルートフォルダー:個々のリポジトリ要素をまとめたフォルダ
③アイテム(リポジトリアイテム):個々のオブジェクトを識別するためのリポジトリ要素
上図のようなオブジェクト構成の場合、”リポジトリアイテム”の検索タイムアウト時間は、”1.5m”(1分30秒)になります。
[アプリフォルダ] 30000ms
+[ルートフォルダ] 30000ms
+[リポジトリアイテム] 30000ms
たとえば、”リポジトリアイテム”の検索時間を”30秒”に設定したい場合は、各要素の検索タイムアウトの値を”10000ms”(10秒)に設定することで対応できます。
また、既存のオブジェクトの検索時間を変更したい場合は、”全般”タブにて、下図の”検索処理のタイムアウト係数”のオプションを変更することで、オブジェクトの検索時間を変更できます。
このオプションは、すべてのオブジェクトに適用され、オプションの値を”1”以下に設定すると検索時間は短縮され、”1”以上に設定すると長くなります。
アクションの実行時間
アクションの実行時間は、テスト実行時における、レコーディングモジュールのアクションの実行間隔や、テスト対象アプリケーションの画面操作(マウス移動、キーボード入力)に掛かる実行時間になります。
たとえば、テストケースが多く、テスト実行に時間が掛かるために、なるべくテスト実行時間を短縮したい場合は、このオプションを変更することで対応できます。
テストのレコーディング前に、”レコーダーの初期設定”タブにて、下図(赤枠)の各アクションの間隔時間を変更することで、設定後のレコーディングで生成されたアクションに反映されます。
※既存のアクションには、オプションを変更しても適用されません。
オプションでは、以下のアクションに関する実行時間を変更できます。
- キーシーケンス分割間隔:レコーディング時に、キーボード入力してから設定した時間が経つと、キーボードアクションが分割されます。
- アクションあたりのマウス移動間隔:テスト実行時に、マウス移動にかける時間になります。
- マウス/ポインター関連アクションの間隔:テスト実行時に、マウスアクションがおこなわれてから次のアクションがおこなわれるまでの時間になります。
- キーボード関連アクションの間隔:テスト実行時に、キーボードアクションがおこなわれてから次のアクションがおこなわれるまでの時間になります。
また、既存のアクションの実行時間を変更したい場合は、レコーディングモジュールの「設定」にある”現在のレコーディング”タブにて、下図の”リプレイ速度係数”を変更することで、アクションの実行時間を調整できます。
※この設定は、レコーディングモジュールのみに対応しています。
このオプションは、対象のレコーディングモジュールにおけるすべてのアクションに適用され、オプションの値を”1”以下に設定するとアクションの実行速度が遅くなり、”1”以上に設定すると速くなります。
まとめ
今回説明したテスト実行速度および、オブジェクトの検索時間のオプションを変更することで、テストの効率化や、安定化をおこなうことができます。
また、これらのオプションは、ソリューションおよび、レコーディングモジュール単位または、各オブジェクトやアクションに対して設定することができますので、個々のテストケースに合わせて、ご利用いただくことが可能です。