- 印刷
- ダークライト
テキストアサーションステップで、対象要素のテキストと期待値が異なる場合、テスト結果には以下のメッセージが表示されます。
この記事では、よくあるパターンを例に取り上げ解説します。まずは失敗したステップのスクリーンショットを確認し、以下どちらのケースに該当するかを確認します。
- 失敗したステップより前のステップ時点で、レコーディング時もしくは直前の成功時のスクリーンショットと比較して違いがある (想定される操作ができていない)
- 失敗したステップより前のステップは問題ないが、失敗したステップで対象要素を見つけられていない、もしくは見つけられているが失敗している
1.失敗したステップより前のステップで意図しない操作になっている
失敗したステップより前のステップで、意図しない要素をクリックしていたり、フォームの入力でバリデーションエラーが発生していないかを確認し、正しい操作ができるように対応してください。
例えば、以下のステップ5でエラーとなった例を見てみましょう。
まずは「スクリーンショットを見る」ボタンをクリックして、ステップ5でどのような状態になっているかを確認します。
確かにアサーションしている対象の文字が直前の成功時と違っており、期待値と異なっているようです。
このステップ5の前のステップで何か意図しない操作になっていないかを次に確認します。
ステップ4のクリック操作時に本来は「English」をクリックすべきですが、なんらかの理由で「日本語」をクリックしており、その結果画面が日本語表示のままとなり、その結果ステップ5で失敗したようです。
この場合の対処は、ステップ5ではなく、ステップ4についてなぜ想定と異なる操作 (間違った要素をクリック) をしたのかを確認する必要があります。今回の場合は、Autify AIが間違った要素を見つけてしまった可能性があり、クイック要素更新もしくは再レコーディングが有効でしょう。
「対象要素が見つかりませんでした 」の「対象要素がページに存在しているのに見つけられていない場合」項目も必要に応じて参照してください。
2.失敗したステップで対象要素を見つけられていない、もしくは見つけられているが失敗している
2-1.テスト結果のスクリーンショットを見た時、アサーション対象要素が見た目上、問題なさそうに見えるが失敗している場合
エラーメッセージを見ると、結果の値が空白 (値がない) 状態になっています。
次に「スクリーンショットを見る」ボタンをクリックして、ステップ2でどのような状態になっているかを確認します。
テスト結果のスクリーンショットを見ると、要素は問題なく見つけられているようで画面に問題はなさそうです。
この場合、対象要素がテキストではない要素 (例:画像要素) の可能性があります。テキストアサーションはテキストを対象としているため、このアサーションコマンドを用いた検証はできません。
要素に対するビジュアルリグレッションテスト や要素が存在することを確認するアサーションなどをご検討ください。
2-2.エラーメッセージ下の差分比較で、改行が対象要素に含まれている場合
エラーメッセージの詳細を見ると、ステップ12の期待値と結果に違いはなさそうです。
次にシナリオ詳細画面を確認してみると、ステップ11で入力した値をステップ12でアサーションをしており、同じテキストのように見えますが、詳細を見てみましょう。
ステップ11の詳細を見てみると、改行を指定しているようです※。
※入力値に指定している値については、Enterで改行していても表示されませんが、下図のようにシナリオ詳細画面のステップ画面下で改行記号「↵」で改行が表現されていることを確認できます。
一方で、ステップ12で期待値に指定された値は改行記号「↵」で改行を指定されており、ステップ11で入力しているテキストと異なります。
この場合は、ステップ12の期待値に実際にEnterで改行した値を指定してください。
テスト結果画面やシナリオ詳細画面において、改行は改行記号「↵」で表示されますが、期待値では使用せず、改行を含めたい場合は実際にEnterを使用してください。
実行ブラウザによっても「改行」の扱いが異なることがあります。
例:Firefoxブラウザでは、期待値に改行を入れると失敗するが、他ブラウザでは改行があると成功する。
2-3.日時の値で比較に失敗している場合
エラーメッセージを見ると、アサーション対象のテキストが日時のステップで、テストが失敗しています。
日時の比較で失敗している場合は、ワークスペースのテスト実行環境のタイムゾーンが影響している可能性があります。
そのため、以下などをご検討ください。
- 協定世界時 (UTC) を想定した期待値の場合は、UTCでテスト実行されることを考慮した期待値を指定する
- 日本時間 (JST) を想定した期待値の場合は、JSTでテスト実行されることを考慮した期待値を指定する
2-4.テスト結果のスクリーンショットを見た時、対象となる要素は存在しているが、別の要素がアサーションされている
以下の例について、失敗したステップのスクリーンショット画面を見ると、レコーディング時 (直前の成功時) と同じ要素をアサーションできています。
しかし、実際に検証したかったことは一番上にある行の日時をアサーションすることでした。
一番上やN番目、一番下など意図した要素を確実に対象としたい場合は、ロケータ機能を使って対象とする要素を指定してください。
具体的な指定方法は、 テーブルやリストで意図した要素を操作するにはどうしたらいいですか? を参照してください。
上記事例以外にも、間違った要素をAutifyが見つけていることが考えられる場合、「対象要素が見つかりませんでした」 の「対象要素がページに存在しているのに見つけられていない場合」項目も必要に応じて参照してください。
2-5.メールテストステップで想定と異なるメールを開いている場合
以下の例について、件名を見ると、レコーディング時とは異なるメールを開封しているようです。
この原因の一つとして、対象メール受信前に別メールが開封され、対象ではないメールをアサーションしていることが考えられます。
受信完了する前に次のステップに進んでいることが考えられる場合、対象ステップ前に待機ステップを追加してください。
メール受信を待ってからアサーションすることで成功する場合があります。
メール機能の受信されない場合やメール探索の仕様については、メールテスト機能 の「メールが受信されない場合」や「検証対象のメール探索の仕様について」項目も必要に応じて参照してください。
それでも問題が解決しない場合...
いつでもカスタマーサポートチームにご連絡ください。問題を解決するお手伝いをいたします。