‘element not found’ エラーへの対応
“element not found” エラー (通称 ENF) は、テストが失敗する原因となる、もっとも頻繁に発生するエラーのひとつです。残念ながら、このエラーの原因を特定することは、特に Ranorex Studio の利用経験が浅いユーザーにとっては、簡単なことではありません。
ここでは、このエラーの一般的な原因とその対応方法について説明します。
レポートの分析
ENF エラーが発生した場合には、まずはレポートの分析をおこないます。
ENF error in Ranorex report
テストが失敗したことを示すレポート
UI 要素が見つからなかったことを示す ENF エラー
メモ
多くの場合、ENF エラーは、テスト対象アプリごとの特性に大きく依存します。これらの特性に基づく解決方法を説明することは難しいため、このガイドでは、エラーの一般的な解決方法のみについて説明します。
スクリーンショットの分析:
レポートには、問題の原因を特定できるよう、いくつかのスクリーンショットが表示されます。これらのスクリーンショットは、エラー発生前後の状況を示しています。
スクリーンショットを比較し、対象の UI 要素に注目します。状況に応じて、以下のいずれかのステップに進みます。
- スクリーンショットに 対象の UI 要素を確認できない場合、ステップ 1 に進みます。
- スクリーンショットに 対象の UI 要素を確認できる場合、ステップ 2 に進みます。
ステップ 1 – スクリーンショットに UI 要素を確認できない場合
解決へのアプローチ:
テスト対象アプリが、正しい状態になっていることを確認します。
サマリー:
テスト対象アプリが正しい状態になっていない可能性があります。これにはいくつかの原因が考えられます。たとえば、システムの動作が通常よりも重い状態になっており、特定のアクションが完了するまで表示されないボタンの表示に時間がかかっているなどです。
解決方法:
Ranorex が UI 要素を見つけられるように、テスト対象アプリが、常に正しい状態となるようにします。
- この状態に達するのに必要なすべてのアクションが存在することを確認します。たとえば、ある UI 要素が右クリック メニューからアクセスされる場合には、この右クリック アクションが存在することを確認します。
- UI 要素を含むウィンドウ、ページなどが、テスト実行中に表示されていることを確認するためのバリデーションを追加します。
- 対象のリポジトリ アイテムの検索タイムアウトを増やしたり、WaitFor アクションを追加して、テスト対象アプリの動作遅延などに備えます。
参照
バリデーションについては、Ranorex Studio 基礎 > ⇢ テストのバリデーション を参照してください。
リポジトリ アイテムの検索タイムアウトについては、Ranorex Studio 基礎 > リポジトリ > ⇢ リポジトリ アイテムの管理 を参照してください。
ヒント
UI 要素が引き続き見つからない場合には、ステップ 2 に進んでください。
ステップ 2 – スクリーンショットに UI 要素を確認できる場合
解決のアプローチ:
UI 要素の RanoreXPath 式を確認します。
サマリー:
スクリーンショットに UI 要素を確認できる場合には、テスト対象アプリが正しい状態に達していることを意味します。しかし、Ranorex Studio が引き続き UI 要素を見つけることができていないため、他の原因が考えられます。もっとも可能性が高いのは、RanoreXPath の誤りです。これには、GUI の変更、動的な UI、多言語対応の GUI、単純なタイプミスなど、さまざまな理由が考えられます。
UI 要素を Spy で確認
RanoreXPath 式が有効であることを確認および編集するために、対象の UI 要素を Spy で開きます。
Opening UI-element in Spy
テスト対象アプリを、ENF エラーが発生した状況と同じ状態にします。
対象のリポジトリ アイテムを選択し、EDIT IN SPY をクリックして Spy で開きます。
原因となっている RanoreXPath 要素の特定
エラーをより詳しく分析するために、まず、UI 要素ツリー ブラウザー内でエラーが発生しているもっとも上位のレベルを特定します。
Identifying highest faulty RanoreXPath tree level
エラーが発生しているもっとも上位のレベルの特定
RanoreXPath 構文の確認
エラーの原因となっている RanoreXPath 式の述語を確認します。
- 属性、値、演算子を確認します。
- タイプミス、不完全な式、誤った値がないかを確認します。
参照
RanoreXPath については、Ranorex Studio アドバンスト > ⇢ RanoreXPath を参照してください。
変数の確認
- RanoreXPath 式に変数が含まれているか確認します。
- 変数が正しく、また、データ ソースにバインディングされていることを確認します。
- 参照している値が正しいことを確認します。
参照
変数については、Ranorex Studio アドバンスト > データ駆動型テスト > ⇢ 変数の定義 を参照してください。
UI 要素の再トラッキング
変数と属性は正しくても、パス自体に誤りがあり、UI 要素が見つからない場合があります。このような場合には、UI 要素を再度トラッキングするのが良い方法です。
参照
UI 要素のトラッキングについては、Ranorex Studio アドバンスト > ⇢ UI 要素のトラッキング を参照してください。
Ranorex サポートへの問い合わせ
上記の方法を試しても問題が解決されない場合には、より複雑な問題である可能性が考えられます。このような場合には、ソリューションのスナップショットを作成し、Ranorex サポートへ問い合わせてください。
参照
Ranorex スナップショットの作成方法については、Ranorex Studio アドバンスト > Ranorex Spy > ⇢ スナップショット ファイル を参照してください。