Autify におけるアサーション(検証)の基本事項
このページでは Autify で利用可能な検証について解説します。
アサーションステップの追加方法
レコーディング中にチェックボックスアイコンをクリックすると、 アサーションを追加することができます。
アサーションは大きく分けて以下の2タイプがあり、追加方法が異なります。
- ページ内の要素に対するアサーション
- ページに対するアサーション
ページ内の要素に対するアサーションは、 チェックボックスアイコンをクリックしたあとページ内の要素をマウスオーバーし、 検証を行いたい対象要素がグレーになっている状態でクリックすることで、 検証コマンドのリストが表示されます。
適切なコマンドを選択し、追加ボタンをクリックしてください。
表示される検証コマンドは対象要素によって異なります。
ページに対するアサーションは、 チェックボックスアイコンをクリックしたあと 「ページの情報を確認」 ボタンをクリックすることで、 検証コマンドのリストが表示されます。
適切なコマンドを選択し、追加ボタンをクリックしてください。 以上の操作により検証ステップが追加されます。
「クリック」や「テキスト入力」といった操作ステップの追加方法
「クリック」や「テキスト入力」といった操作については、 レコーディングが有効な状態(Autify Recorderの赤丸が点滅している状態) であれば特に意識することなく自動的にステップとして記録されます。
また、いずれの操作の場合も以下の検証を行った上で操作を行います。
- 対象要素が存在すること
- 対象要素が操作可能な状態であること
そのため、クリックやテキスト入力の操作の前に
わざわざ要素が存在することや表示されていることを確認するアサーションを追加する必要はありません。
SPA など非同期通信が発生するページの検証
Autify の全ての検証において、 対象となる要素がページ内に存在しない場合は一定時間探索し続ける ように設計されています。 そのため、非同期通信が発生するページであっても、 一定時間内であれば「待機ステップ」を使用することなく検証が可能です。
デフォルトでは探索を継続する時間は30秒が設定されています。
全体的に30秒以上かかることが多い場合には、 サポートチームまでご連絡ください。
もしごく一部のページや処理でのみ30秒以上かかる場合には、 待機ステップを検証ステップの前に挿入し、待機時間を延長してください。
索引
以下は Autify で提供しているアサーションコマンドの一覧です。
各コマンドについては当ページ下部で解説します。
- た
- ち
- て
- ぺ
- S
- U
ページ内の要素に対するアサーション
ページ上のすべてのHTML要素
キーワード名 | 概要 |
---|---|
対象が表示されていることを確認する | 対象の要素が目視できる状態であることを確認する |
対象のテキストが〇〇であることを確認する | 対象の要素の文字列が指定の文字列と完全に一致することを確認する |
対象のテキストが〇〇を含むことを確認する | 対象の要素が文字列を指定の文字列を含むことを確認する |
対象のテキストが〇〇を含まないことを確認する | 要素が文字列を指定の文字列を含まないことを確認する |
対象が表示されていることを確認するについて詳しくはこちら
BUTTON, INPUT, SELECT, TEXTAREA, OPTGROUP, OPTION, FIELDSET
キーワード名 | 概要 |
---|---|
対象が有効であることを確認する | 要素が有効であることを確認する |
対象が無効であることを確認する | 要素が無効であることを確認する |
見た目がボタンや選択肢の要素の場合でも、 実態として div や span として記述されていて CSS で見た目を整えているような場合には これらのコマンドは表示されません。
INPUT
キーワード名 | 概要 |
---|---|
テキストフィールドの値が〇〇であることを確認する | テキストフィールドに入力されている内容が指定の文字列と完全に一致することを確認する |
テキストフィールドの値が〇〇を含むことを確認する | テキストフィールドに入力されている内容が指定の文字列を含むことを確認する |
INPUT[TYPE="CHECKBOX"]
チェックボックス要素の場合に表示される
キーワード名 | 概要 |
---|---|
チェックボックスが選択されていることを確認する | チェックボックスがチェックが入っている状態であることを確認する |
チェックボックスが選択されていないことを確認する | チェックボックスがチェックが入っていない状態であることを確認する |
見た目がチェックボックスのようでも、 実態として div や span として記述されていて CSS で見た目を整えているような場合には これらのコマンドは表示されません。
TEXTAREA 要素
キーワード名 | 概要 |
---|---|
テキストエリアの値が〇〇であることを確認する | テキストエリアに入力されている内容が指定の文字列と完全に一致することを確認する |
テキストエリアのテキストが〇〇を含むことを確認する | テキストエリアに入力されている内容が指定の文字列を含むことを確認する |
SELECT 要素
ドロップダウンリスト、プルダウンメニュー、リストボックス、 など様々な呼ばれ方をする、複数の選択肢から選択するための要素です。
※複数の選択肢を選択している場合にうまく動作しない可能性があり、修正予定です。
キーワード名 | 概要 |
---|---|
selectの選択内容が指定通りか確認する | 指定の文字列と一致する選択肢が選ばれていることを確認する |
selectが非選択状態であることを確認する | multiple 属性のついた select で何も選択されていないことを確認する |
択一式の要素においてデフォルトの選択肢が選択されている状態は、 selectが非選択状態であることを確認する では確認できません。
例えば、以下のスクリーンショットは Autify のデモをリクエストするフォームに含まれるプルダウンですが、 最上部の 組織の総従業員数 * が表示されている状態は
非選択状態ではなく 組織の総従業員数 * の選択肢が選択されている状態 です。
デフォルトの選択肢が選択されている状態を確認したい場合は selectが非選択状態であることを確認する ではなく selectの選択内容が指定通りか確認する をご利用ください。
ページに対するアサーション
ページのタイトルに対するアサーション
ページタイトル とは、
title タグで設定される文字列のことです。
タブやウィンドウの部分に表示されたり、ブックマークするときの名称として使用されます。
キーワード名 | 概要 |
---|---|
タイトルが〇〇であることを確認する | ページタイトルが指定の文字列と完全一致することを確認する |
タイトルに対する部分一致のコマンドが必要な場合は弊社サポートチームまでご連絡ください。
ページの URL に対するアサーション
キーワード名 | 概要 |
---|---|
URLが〇〇であることを確認する | 現在の URL が指定の文字列と完全に一致することを確認する |
URLが〇〇を含むことを確認する | 現在の URL が指定の文字列を含むことを確認する |
URLが動的に変わってしまうようなページのURLを検証したい場合は URLが〇〇を含むことを確認する を使用することをおすすめします。
ページに含まれるすべてのテキスト
キーワード名 | 概要 |
---|---|
ページが〇〇を含まないことを確認する | ページ内に指定の文字列が存在しないことを確認する |
ページ上のすべてのHTML要素
現在 ページに指定の要素が存在することを確認する
は ページに対するアサーション(「ページの情報を確認」ボタンをクリック)のコマンドとして表示されますが、 将来的には ページ内の要素に対するアサーション のコマンドとなる予定です。
キーワード名 | 概要 |
---|---|
ページに指定の要素が存在することを確認する | ページに特定の要素が存在することを確認する |
非表示状態など、一般ユーザーが存在を確認できない状態であったとしても、 HTMLの要素として存在していれば成功となります。 詳しくはこちら
アサーションに関するよくある質問
「ページに指定の要素が存在することを確認する」と「対象が表示されていることを確認する」の違いはなんですか?
「ページに指定の要素が存在することを確認する」
は対象の要素が HTMLのコード上に存在していれば成功 します。
その要素が見える状態かどうかは成否判定に加味しません。
人が見てページ上に表示されていなくても、 不可視状態であったりマイナス座標上に存在している場合は成功となる点に注意してください。
「対象が表示されていることを確認する」
は対象の要素が 見える状態で存在していれば成功 します。
HTMLのコード上に存在していても display: none や hidden など見えない状態の場合は失敗となります。
いずれのコマンドも広い範囲に対して設定することも可能です。
例えば
「特定の操作を行ったあとに特定のフォームが表示される」
という場合にはフォーム全体を選択し、 上記のいずれかのコマンドを使用すると目的に沿った確認を行うことができます。
ただし、あくまで「要素が存在するか」「要素が見える状態か」を確認するコマンドであり、
「その範囲に含まれる全ての要素が正しいかを確認する」
という使い方はできません。
表示内容の正しさの確認が必要な場合は各要素に対して個別にコマンドを設定してください。
「指定の要素が存在しないこと」を確認することはできますか?
もし、存在しないことを確認したい要素が文字列を含む場合、 ページが〇〇を含まないことを確認する または 対象のテキストが〇〇を含まないことを確認する で確認することができます。
「ページが〇〇を含まないことを確認する」
はページ全体を対象に特定の文字列が一切存在しないことを確認し、
「対象のテキストが〇〇を含まないことを確認する」
は特定の要素の範囲内で特定の文字列が存在しないことを確認します。
例えば、 管理者権限のアカウントでログインした場合には管理者であることを示す ADMIN という文字列が表示され、 一般ユーザーのアカウントでログインした場合には この文字列がページ内に一切現れるべきでないという場合 には ページが〇〇を含まないことを確認する をご利用いただけます。
もしとあるフォームやメニューバー上など、 特定の要素内において特定の文字列が現れないことを確認したい場合 には 対象のテキストが〇〇を含まないことを確認する をご利用ください。
テキストを含まない、または、テキストでは判定が難しい要素に対して存在しないことを確認したい場合は、弊社サポートチームまでご連絡ください。
「ラジオボタンが選択されていること」を確認することはできますか?
INPUT[TYPE="RADIO"] で実装されたラジオボタンに対しては、標準のアサーションコマンドのご用意はありませんが、「JSステップ」を利用して検証を行うことができます。要素がチェックされているかどうかを確認するスニペットをご活用ください。