クラウド実行中にmablがアプリケーションに接続できない場合、ファイアウォールがインターネットからのトラフィックをブロックしている、Link Agentが実行をルーティングしていない、またはアプリケーションの前段にあるサービスがmablのトラフィックをボットとみなしてチャレンジしている、といった原因が考えられます。この記事では、それぞれの問題とトラブルシューティングの方法について説明します。
同じテストがトレーナーやローカルでは成功する場合は、まずテストがローカルでは成功するのにクラウドで失敗する理由をお読みください。両者の違いが説明されており、確認すべき箇所を絞り込めます。
ネットワークの設定の確認
接続の問題の多くは、インターネットからの受信トラフィックをブロックするファイアウォールの内側にテスト環境があることに起因します。mablのテストトラフィックはクラウドのマシンから送信されるため、オフィスやVPNからのトラフィックしか許可しないファイアウォールでは、すべてのクラウド実行がブロックされます。
ファイアウォールの内側にあるアプリケーションをテストするには、受信接続の許可リストにmablの静的IPアドレスを追加するか、mabl Link経由でテストを実行してください。ネットワークで許可する必要があるものは、mablのためのネットワークの設定にすべて記載されています。
Link Agentとの接続の確認
環境でmabl Linkを使用する想定の場合は、ネットワークチームに相談する前に、まずLink Agentを確認してください。ワークスペース > ネットワークで、エージェントがトンネルに接続されていること、およびテストを実行している環境がそのトンネルを経由してルーティングされていることを確認します。
エージェントが接続されていればmablには到達できますが、それだけではアプリケーションに到達できることの証明にはなりません。トンネルを直接テストするには、Link接続のテストと診断を参照してください。症状と対処法については、mabl Linkの問題のトラブルシューティングを参照してください。
mablのIPアドレスを許可リストに追加してもテストが失敗する
許可リストが正しく設定され、mablからのすべてのリクエストが通過していても、テストが途中で失敗することがあります。コンテンツデリバリーネットワーク、Webアプリケーションファイアウォール、IDプロバイダー、決済プロバイダーなど、mablとアプリケーションの間にあるサービスは、独自のボット対策を実行しています。mablのクラウドブラウザはデータセンターのIPアドレスから接続し、自動化されたブラウザであることを明示するため、ファイアウォールの許可設定にかかわらず、これらのサービスからチャレンジを受けることがあります。
チャレンジは、必ずしもブロックのようには見えません。一般的には、テストがアプリケーションを想定していた場所に確認ページが返され、表示されることのない要素を待ってステップがタイムアウトします。失敗したステップのスクリーンショットとDOMスナップショットを確認してください。
ボット対策が原因であることの確認
同じテストをいくつかの異なる方法で実行し、結果を比較してください。
- mabl Link経由。 mabl Link経由でテストを実行すると、トラフィックはmablのIPアドレスからではなく、ネットワークの内側から送信されます。Link経由では成功し、Linkなしでは失敗する場合は、アプリケーションの前段にあるサービスがデータセンターのIPアドレスからのトラフィックにチャレンジしています。
- ローカルのヘッドレスモード。 mabl CLIなどを使用して、ブラウザがウィンドウを表示せずに動作するヘッドレスモードで、ご自身のマシン上でテストを実行します。それでもテストが失敗する場合、ボット対策はトラフィックの送信元ではなく、自動化されたブラウザそのものを検出しています。
CDNまたはWAFのログでmablのトラフィックを見つける
デフォルトでは、ブラウザテストのリクエストにはX-Mabl-Agentヘッダーが含まれ、ユーザーエージェント文字列にはmablが含まれます。ネットワークチームはこれらのマーカーを使用して、ログからmablのトラフィックを見つけ、それに対するルールを作成できます。
APIテストとモバイルテストには、これらのマーカーは含まれません。詳しくは、mablのためのネットワークの設定を参照してください。
サービスがリクエストにチャレンジした場合、その理由はmablのテスト出力ではなく、そのサービスのログに記録されます。通常、確認ページにはリクエストIDが表示されます。サービスを運用しているチームまたはベンダーに、そのIDを調べて、リクエストがどのルールに該当したかを確認するよう依頼してください。ルールがわかったら、カスタムHTTPヘッダーを参照して、mablを通過させるヘッダーをテスト環境で受け入れるように設定してください。
mablチームへの連絡
上記の手順を試しても原因が特定できない場合は、アプリから、またはメールでお問い合わせください。テスト実行のリンクに加え、Linkを有効にした環境の場合は、ワークスペース > ネットワークに表示されるトンネル名とLink Agent IDもお知らせください。