アサーション

mablのアサーションの概要

アサーションはテストの基盤となる要素であり、「アプリケーションが期待どおりに動作しているか?」を確認することができます。

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

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

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

600

アサーションの作成

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

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

586

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

📘

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

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

アサーションと自動修復

自動修復が成功することを確認

mablブラウザーテストのすべてのステップで、mablが記録している属性を使ってターゲットエレメントを見つけられない場合、mablは自動修復を使用して類似のエレメントを検索します。自動修復の基本的なルールは次のとおりです。

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

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

アサーションと要素の検索

エレメントが存在する ("is present")、または存在しない ("is not present") ことを確認するアサーションを作成する場合、要素の検索を使ってどの属性が最も重要なのかの指定と、ターゲットエレメントが表示されるまでmablがWaitを行う時間を指定することができます。(上限は15分)

要素を検索を設定するときには、ターゲットエレメントが時間内に見つからない場合にmablが自動修復を使用して検索対象を広げるかどうかも指定する必要があります。

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

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

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

340

大文字と小文字の区別

[大文字と小文字の区別をしない] をチェックすると、mablはアサーションを行う際、大文字と小文字の区別を行いません。

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

📘

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

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

失敗時も続行

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

1114

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

🚧

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

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

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

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