アサーションはテストの基本的な要素であり、「アプリケーションは期待通りに動作しているか?」という問いに答えるのに役立ちます。
大まかに言えば、ブラウザテストまたはモバイルテストは以下で構成されます:
- テスト対象のアプリケーションにおけるアクション。クリック、テキストを入力、URLへのアクセスなどが含まれます。
- 前のアクションが期待される結果を生成したことを検証するアサーション。
たとえば、アプリケーションにログインする操作を実行した後、適切なアサーションは、これらの操作が期待される結果をもたらしたことを検証します。この例では、ログイン後、アサーションはユーザー名がページに表示されることを検証します。
この記事では、mablトレーナーのアサーションについて概要を説明します。
アサーションの作成に関する一般的なガイダンスについては、アサーションのベストプラクティスに関する記事をご覧ください。
アサーションのタイプ
mablトレーナーでは、以下に対してアサーションを作成できます:
どのアサーションを使用すればよいですか?
アサーションは、テスト実行の特定のステップでアプリケーションが正しい状態にあることを確認するために、mablが使用すべきロジックを定義します。以下の表は、さまざまな目的に対して推奨されるアサーションを示しています。
| 目標 | 推奨アサーション |
| ページの表示を確認する | 画面アサーション |
| 特定の要素のプロパティまたは属性を確認する | 要素アサーション(HTMLまたはCSS) |
| 画像やコンテンツの品質など、複雑な内容を検証する | 要素アサーション(ビジュアル) |
| テストが正しいページにあることを確認する | URLアサーション |
| Cookieの値を確認する | Cookie アサーション |
| 変数の値を確認する | 変数アサーション |
| ダウンロードしたファイルの内容を検証する | アサーションをダウンロード |
アサーションの設定
要素、変数、URL、Cookieアサーションには、以下の設定を構成できます:
大文字と小文字を区別しない
有効にすると、mablは大文字と小文字を区別せずに、値が期待どおりであるかを確認します。たとえば、アプリケーションが一部では名前をすべて大文字で表示し(「SMITH」)、他の部分では一部のみ大文字で表示する場合(「Smith」)、大文字と小文字を区別しないアサーションを使用して、両方の領域で同じ名前が表示されていることを検証できます。
注
大文字と小文字の区別をしない設定は、大文字と小文字の区別が存在し、標準的な英語とは大きく異なるルールを持つ特定の文字や言語では、予期しない動作をする場合があります。たとえば、ドット付き大文字の「İ」は、ドット付き小文字の「i」と同等ではありません。
失敗オプション
アサーションが失敗した場合の動作を指定します:
| オプション | 詳細 |
| すぐに失敗にする | アサーションが失敗した場合、テストは実行を停止し、失敗します。これがデフォルトのオプションです。 |
| テスト終了時に失敗にする | アサーションが失敗した場合、テストは実行を続け、最後に失敗としてマークされます。 |
| 失敗時も続行し、警告を表示する | アサーションが失敗した場合でも、ステップは引き続き成功し、警告付きでマークされます。 |
「テスト終了時に失敗にする」と「失敗時も続行し、警告を表示する」は、ソフトアサーションの2つの実装です。ソフトアサーションは、要素のラベルやスタイルなどの非機能的な側面をアサートする際に、テストの実行を停止せずに確認できるため便利です。
失敗オプションはローカル実行とクラウド実行に適用されます。Trainerでステップを再生する際、失敗したアサーションが「即座に失敗にする」または「テスト終了時に失敗にする」とマークされている場合、Trainerの再生は直ちに停止します。「失敗時も続行して警告をマークする」とマークされたアサーションは常に成功し、Trainerの再生を停止することはありません。
追加の詳細と制限
- 文字数制限: アサーションには300文字の制限があります。300文字を超える要素に対してアサーションを実行しようとする場合、mablは最大300文字までしか取得しません。
-
辞書式比較: アサーションタイプに比較が含まれる場合 - より大きい、より小さい、以上、以下 - で、アサーション値が数値として解釈できない場合、mablは文字のUnicodeコードポイントに従って値を順序付けします。この標準では、値の順序は低いものから高いものへと次のようになります:
- 数字(123…)
- 大文字 (ABC…)
- 小文字 (abc…)
-
正規表現に一致: アサーションタイプが「正規表現に一致」の場合、mablはJavaScriptの正規表現構文を使用することに注意してください。パターンをスラッシュで囲み、大文字と小文字を区別しない検索には
i、複数行マッチングにはmなどのオプションフラグを追加できます。スラッシュが省略された場合、mablはフラグが渡されていないかのように、提供されたパターンに対してアサーションを実行します。