リンククローラーの概要
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要素は、リンククローラーのテストではリンクとみなされません。
カスタムログインフローの使用
mablのリンククローラーはデフォルトで、リンクのクローリングを開始する前に、自動ログインフロー利用して、テスト対象へ自動ログインを試みます。ログインフォームにCaptchaが存在する場合や、メールとパスワードのフィールド以外がある場合などは、自動ログインフローがうまく動作しない場合もあります。

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

クロール用テストにログイン用フローを差し込めます。
フローを選択すると、mablは既存のリンククローラテストを複製します。複製したテストには、選択したログインフローが差し込まれているはずです。
この新しいリンククローラーは、任意のプランに追加したり、手動で実行することができます。ただし、デフォルトで作成されるテストとは異なり、実行回数としてカウントされます。
Updated 2 months ago