アサーションの実行

mablのアサーションの概要

アサーションはテストの基盤となるコンポーネントであり、「アプリケーションは期待どおりに動作しているか?」という疑問に答えます。

ブラウザーテストは、大まかに言えば次の要素で構成されています。

  1. クリック、テキスト入力、URLの表示など、テスト対象アプリケーションのアクション
  2. これまでのアクションにより期待どおりの結果が得られたかどうかを検証するアサーション

たとえば、アプリケーションにログインする一連のアクションの後、アサーションを使用して、これらのアクションにより期待どおりの結果が得られたかどうかを検証します。次の例は、ログイン後にアサーションを使用して、ページにユーザー名が表示されることを検証しています。

600600

アサーションの記録

アサーションの作成では、テスト実行の特定のステップでアプリケーションが正しい状態かどうかを確認するために、mablで使用するロジックを定義します。mablのブラウザーテストでは、次の項目に対してアサーションを実行できます。

各アサーションタイプの詳細と手順については、上記のリンクを参照してください。

586586

エレメントアサーションの例

📘

アサーションの文字数制限

アサーションの文字数制限は300文字です。300文字を超えるエレメントにアサーションを行った場合、mablは300文字しか取得しません。

アサーションと自動修復

mablブラウザーテストで記録されたすべてのステップについて、mablがすでに把握している属性を使用してテスト実行中にターゲットエレメントを見つけられない場合、起こりうる変更の後で正しいエレメントを見つけるために、自動修復を使用して類似のエレメントを検索します。このプロセスには微妙な違いはありますが、基本的なルールは次のとおりです。

  • テストに成功した場合、自動修復は保存される。
  • 失敗した場合、自動修復は保存されない。

アサーションはこのプロセスの重要な部分です。アサーションを使用すれば、自動修復されたテストステップであっても正しいエレメントを識別します。同様に重要なのは、アサーションを使用すれば、テストが誤ったエレメントに自動修復されるのを回避できることです。アサーション (およびテスト) に失敗した場合、自動修復は保存されません。

アサーション、自動修復、Configure Find

何かが存在する ("is present")、または存在しない ("is not present") ことをチェックするアサーションを記録して作成する場合、Configure Findを使用すると、最も重要な属性と、一致するエレメントを待機する時間 (最長15分) を指定できます。Configure Findを設定するときには、ターゲットが時間内に見つからない場合にmablで自動修復を使用して検索対象を広げるかどうかも指定する必要があります。

"is present" または "is not present" アサーションで自動修復を使用する場合、次の点に留意する必要があります。

  1. "is present" アサーションが別のエレメントに自動修復された結果、Configure Findの設定と一致した場合、このアサーションは成功と判定されます。
  2. "is not present" アサーションが別のエレメントに自動修復された結果、Configure Findの設定と一致した場合、このアサーションは失敗と判定されます。

この動作は誤った成否判定につながる可能性があります。アサーションが別のエレメントに自動修復されることを望まない場合は、[Disable Auto-heal] を選択してください。

340340

Disable case sensitivity

[Disable case sensitivity] をチェックすると、mablはユーザーの期待どおりの値かどうかをチェックする際、大文字と小文字の区別を行いません。

たとえば、アプリケーション内のある部分では名前がすべて大文字で表示され ("SMITH")、別の部分では一部だけが大文字の場合 ("Smith")、大文字と小文字を区別しないアサーションを使用すると、両方の領域に同じ名前が表示されているかどうかを検証できます。

📘

大文字と小文字が存在するものの、その規則が標準的な英語とは大幅に異なる文字や言語の場合、[Disable case sensitivity] オプションは予想外の動作をする可能性があります。

たとえば、一部の言語では大文字Iの上に点がある "İ" が使用されていますが、大文字と小文字の区別を無効にした場合、この文字は必ずしも、上に点がある小文字の "i" と同等とは見なされません。

Continue on failure

[Continue on failure] をチェックした場合、エレメントがアサーションの条件を満たすかどうかに関係なく、アサーションは成功として判定されます。クラウド実行でステップが成功しなかった場合、「失敗したステップ」としてではなく、警告が表示されます。

11141114

失敗後に継続されたアサーションの例

🚧

失敗後に継続しても、テストは失敗とはならない

[Continue on failure] は、mablの「ソフトアサーション」の現在形です。アサーションに失敗しても、テストは成功としてマークされます。「失敗後に継続」されたアサーションで何が起きたかを把握するには、個別のクラウド実行を確認する必要があります。

比較のアサーションタイプ

比較のアサーションタイプであるgreater than、less than、greater than or equals、less than or equalsは、数値以外の値の場合、辞書式比較を使用します。