エラーメッセージが出力された場合の対応方法

Ranorex を使用してテストをおこなっていると、レポートにエラーが出力されることがあります。エラーが発生する要因としてはさまざまなパターンが考えられますが、発生原因を特定することで素早くエラーの解決がおこなえます。
Ranorexのレポートには、エラーの原因のヒントとなる情報が出力されます。今回は、レポートの内容をもとに発生原因を探る手順について解説してみたいと思います。

レポートのエラーメッセージの内容を確認する

テストが終了したら、まずはレポートに出力されている内容を確認しましょう。失敗した場合、以下のようなエラーが出力されます。

Ranorexレポートの例

①には、実行されたアクションのレポート レベルが表示されます。上記のように「Error」と出力されている場合、予期せぬ失敗が発生したことを示しています。
レポート レベルに「Failure」と出力されている場合、通常、validate(検証)アクションが失敗したことを示します。

※レポートの出力内容について詳しくは以下ユーザーガイドをご参照ください。
標準のレポート
レポート レベル


②には、アクションの実行中に発生したエラー関する詳細情報がメッセージとして出力されています。メッセージ内容を確認して、失敗原因の特定および対策をおこないます。
以下に、代表的なエラーメッセージの例と対応方法を記載します。

Failed to find item ‘リポジトリアイテム名’. No element found for path ‘リポジトリアイテムのRanoreXPath’ within 30s.

以下のメッセージは、最も頻繁に発生するエラーの1つです。操作しようとしているオブジェクト(ボタンやテキストボックスなど)が見つからない場合に発生します。

Failed to find item 'リポジトリアイテム名'. No element found for path 'リポジトリアイテムのRanoreXPath' within 30s.

このエラーが発生する要因としては、以下のようなケースが想定されます。

  1. 対象アクション実行時に、画面に操作したいオブジェクトが表示されていない
    なんらかの原因でテスト対象アプリが想定の状態になっておらず操作対象のオブジェクトが表示されていないと、当エラーが発生します。
  2. 操作したいオブジェクトのRanoreXPathが無効となっている
    例としてログイン毎に対象オブジェクトの属性値(idなど)が変わるアプリケーションの場合、事前に作成しておいたRanoreXPathでは操作したいオブジェクトを取得できないといったケースが発生することがあります。

    1と2については、以下のユーザーガイドに対応方法の例が掲載されておりますので、ご確認ください。
    ‘element not found’ エラーへの対応
  3. 1,2とも問題ないが、このエラーが発生してしまう
    例として、特定のボタン操作で別のウインドウが開くといった操作で、テスト実行時のみ、新しく開いたウインドウ上のオブジェクトを認識しないといったケースが発生することがあります。
    この場合、該当のオブジェクトの操作の前に、新しく開いたウインドウのフォームをクリックする操作を追加することで、改善することがありますので、お試しください。

リモート デバッグ ポートが有効化されていないか見つからないため、テスト対象の CEF アプリの UI 要素を識別できません。

上記のメッセージは、Warning(警告)として出力されることがあります。このメッセージの対処法は、テスト対象アプリケーションの種類によって2種類に分けられます。

Microsoft Edgeの場合

このメッセージが出力されていても、テスト実行が正常におこなえている場合は、警告は無視して問題ありません。
このエラーメッセージが出力されてテストが止まってしまう場合、以下の事項をご確認ください。

アドオンのインストール
Microsoft Edgeにて拡張機能のページを開き、Ranorex Automation が有効になっていることをご確認ください。
有効になっていない場合、ユーザーガイドにしたがってアドオンのインストールを行ってください。

「バックグラウンドアプリの処理を続行する」の解除
ChromeとChromium版Edge各ブラウザでそれぞれ下記のURLを開き、「バックグラウンドアプリの処理を続行する」オプションが無効化されていることをご確認ください。
・Chrome: chrome://settings/system
・Edge : edge://settings/system
無効化されていない場合は、無効化してください。

Chromeプロセスの終了
ChromeプロセスとEdge(Chromium)プロセスが同時に起動している場合、先に起動していたプロセス上のDOM要素のみが認識され、想定の操作とならないことがございます。
Edgeでのテスト作成時および実行時は、Chromeブラウザを終了しておくようにしてください。

Microsoft Edge以外のCEFアプリケーションの場合

RanorexでCEFベースのアプリケーションをテストする場合、テスト対象アプリケーションのリモートデバッグポートを有効にする必要があります。
設定方法については、こちらをご参照ください。

Failed to wait for item to exist.Invocation did not finish within the timeout of ’00:00:05′.

アクションを実行したタイミングでテスト対象アプリケーションが応答しない場合に、このエラーメッセージが出力されます。応答がない場合の例外を発生させるまでのタイムアウト時間を長めに設定してください。

操作手順:

  1. Ranorex Studioにて、対象のソリューションを起動します。
  2. プロジェクトビューから、”Solution Items”のフォルダー内にある”Ranorex.rxsettings”を開きます。
  1. <adapter.functionexecutiontimeout>の数値を長めに変更します。デフォルト値は”5000ms”ですので、”50000ms”などに変更します。

まとめ

以上、代表的な対応方法の例を挙げましたが、テスト対象アプリの種類や仕様によって、エラーの発生原因や対応方法は多岐にわたります。ご自身では原因の特定や解決が難しい場合もあるかと思いますので、ぜひ以下のサポートをご活用ください。

よくある質問(FAQ)

よくある質問(FAQ)のページに、サポートなどに寄せられる質問をまとめております。エラーメッセージについてはこちらに一覧がございますので、当てはまるものがあるかご確認ください。
当サイト右上の検索ボックスやチャットボットから、エラーメッセージで検索することも可能です。

Ranorex テクニカルサポートへの問い合わせ

Ranorex 年間保守サービスにご加入のお客様は、日本語でのテクニカルサポートをご利用いただけます。
エラーが出力されているレポートのアーカイブ(*.rxzlog)を添付の上、
テクマトリックス(株)Ranorex テクニカルサポートセンター にお問い合わせください。
窓口への問い合わせ方法に関しては、Ranorex製品年間保守サービス証書 をご確認ください。