リンククローラーの概要

mablはテスト対象の画面をクローリングするために、「リンククローラー」をデフォルトで用意しています。リンククローラーは「visit all linked pages within the app」というプランによって自動実行されますが、実行回数としてカウントされません

mablはテスト対象の画面をクローリングするために、「リンククローラー」をデフォルトで用意しています。リンククローラーは「visit all linked pages within the app」というプランによって自動実行されますが、実行回数としてカウントされません(参考: Schedules of Default Plans now Automatic)。

このプランは、お客様のすべてのアプリケーション環境に対して毎週実行されるように設定されています。

アプリケーションを追加したときに、アプリケーションにアクセスするための認証情報(ログインIDとパスワードなど)を指定した場合は、リンククローラーは、その認証情報を使って自動的にログインを試みます。

デフォルトのリンククローラー用プランの設定は、他のプランと同様に変更することができますが、実行タイミングなどいくつかの設定は変更できません。

📘

mablは、アプリケーションのドメイン内のすべてのリンク先ページをクローリングします

何も設定しない場合、mablはドメイン内のすべてのリンク先ページをクローリングします。つまり、「 https://app.example.com 」というURLがテスト対象であれば、mabl は 「 https://app.example.com/* (例えば https://app.example.com/page1 など)」をクローリングしようとします。もし、ページ内に「 example.com 」というルートドメインに関連するページリンクがある場合、「 https://docs.example.com 」や「 https://www.example.com 」といった他のページもクローリングします。

リンククローラーを実行する際、mablは、Enviroment/Applicationに設定されたベースURLを読み込みます。そのページに関する情報(スクリーンショット、ページのロード時間、JavaScriptのエラー情報など)を収集した後、mablはそのページの最初のハイパーリンクをチェックします。ハイパーリンクがベースURLのドメイン内にある場合、mablはそのページを訪問し、上述の情報を収集します。mablは次に、元のページの2番目のリンク、3番目のリンク、と順に訪問していきます。mablはこのようにしてアプリケーション内のすべてのリンク先ページを訪問し、期待される2xxレスポンスを返さないリンクを発見すると、リンク切れレポートを生成します。

📘

リンク切れについて

mablでは、以下のような理由でリンク切れと判断しています。

  • ランディングページが404エラーになっている
  • mablがクロール中にページが完全にロードされなかった場合
  • ページが503や4xxなどの2xx以外のエラーを返した場合
  • そのURLがすでにチェックされていて、同じテスト実行の中で「Broken」とマークされている場合

📘

リンクとしてカウントされる対象

リンククローラーは、アンカー要素とも呼ばれる、HTMLのタグがページにあるかどうかをチェックすることで、リンクを探します。クリックするとページが遷移する他のHTML要素は、リンククローラーのテストではリンクとみなされません。

リンクは、まず GETもしくは HEADリクエストに対し、エラーでないHTTPステータスコードが返されるかどうかを検証します。次に、リンクが以下の Content-Type のいずれかを帰す場合に飲み、リンク先がブラウザに読み込まれ、さらなる解析とリンクのクローリングが行われます。

PDFへのリンクなどはクローリング対象ではありません。

カスタムログインフローの使用

mablのリンククローラーはデフォルトで、リンクのクローリングを開始する前に、自動ログインフロー利用して、テスト対象へ自動ログインを試みます。ログインフォームにCaptchaが存在する場合や、メールとパスワードのフィールド以外がある場合などは、自動ログインフローがうまく動作しない場合もあります。

1658

独自のログイン処理を入れられます。

このような場合には、テスト対象のアプリを適切にクロールするために、独自のログインフローが必要になります。まずは、ログインのためのフロー(FLOW)を事前に用意してください。そして、そのフローをテストに追加します。追加方法は、テスト(Visit all linked pages within the app)を開き、Steps下にある「COPY WITH CUSTOM LOGIN」をクリックし、作成したログイン用のフローを選択します。「Visit home page」でも同様にこの処理を入れられます。

2038

クロール用テストにログイン用フローを差し込めます。

フローを選択すると、mablは既存のリンククローラテストを複製します。複製したテストには、選択したログインフローが差し込まれているはずです。

この新しいリンククローラーは、任意のプランに追加したり、手動で実行することができます。ただし、デフォルトで作成されるテストとは異なり、実行回数としてカウントされます