URLアサーションを利用すると、テストの実行時に正しいWebページでテストが行われていることを容易に確認できます。リンクをクリックしたときにページのリダイレクトが行われ、404ページではなく、本来表示されるべきページが表示されているかどうかの確認が必要になる場合があります。これらのアサーションを利用すると、エラーを比較的早く見つけることができます。
mablでは、URLの複数の属性やプロパティに対してURLアサーションを作成できます。これには、hash、host、hostname、href、password、pathname、port、protocol、search、usernameなどが含まれます。URLアサーションでは、デフォルトで "pathname" コンポーネントが選択されます。これらの詳細については、こちらを参照するか、以下の概要をご覧ください。
URLの属性およびプロパティの概要
hash: hashプロパティは、ハッシュ記号 (#) を含む、URLのアンカー部分を設定または返します。たとえば、"https://www.example.org/index.html#sailingboat" というURLのアンカー部分は "#sailingboat" です。
host/hostname: hostプロパティは、URLのホスト名およびポートを設定または返します。"host" にはポート番号も含まれます (指定されている場合)。URLでポート番号が指定されていない場合は、hostnameと同じものが返されます。たとえば、hostnameの場合は "example.org"が返されますが、hostの場合は "example.org:7777" が返されます。
href: hrefはアンカータグの属性で、リンクの飛び先のURLを指定します。href属性が存在しない場合、リンクはハイパーリンクではありません。
password: URLの設定にはユーザー名とパスワードの設定が含まれている場合があります。
pathname (デフォルトで選択): pathnameプロパティは、URLのパス名を設定または返します。
port: portプロパティは、サーバーが特定のURLで使用するポート番号を設定または返します。
protocol: protocolプロパティは、コロン (:) を含む、URLのプロトコルを設定または返します。
search: searchプロパティは、疑問符 (?) を含む、URLのクエリ文字列部分を設定または返します。
username: usernameプロパティは、href属性値のユーザー名部分を設定または返します。ユーザー名はユーザーによって入力され、プロトコルの後、パスワードの前に示されます。
アサーションタイプに変更はなく、equals、does not equal、contains、does not contain、starts with、does not start with、greater than、less than、greater than or equals、less than or equalsを指定することができます。
URLをアサートする方法:
- アサーションを追加するテストに移動し、ブラウザーが目的の状態になっていることを確認します。
- [Add assertion] ボタンをクリックします。
- [Page URL] ボタンをクリックし、現在のURLに対してアサーションを作成します。
アサーションの作成対象を選択するためのオプション ([Page URL]、[Cookie]、[Variable]、[Email] を選択可)
- アサーションのタイプとアサーションを作成するURLの属性/プロパティを選択します。
[Attribute/property] ドロップダウンに、アサーションを作成するURLの構成部分が表示されます。
- [Save] をクリックします。アサーションのタイプに応じて、テスト内に対応するステップが新たに追加されます。次の例には、プロトコルのアサーションが含まれています。
「Assert "protocol" of current URL equals "https"」と記載されたmablテストのステップ