1

私のプロジェクトでは、ページのレイアウトを最適化するために、ユーザー アクションの追跡を担当する JavaScript がいくつかあります。これらの呼び出しは、ユーザーが何かをクリックすると実行されます。これには、次のページへのリンクも含まれます。

Java で記述され、Selenium Webdriver に基づく自動テストによってフロー全体がカバーされています。Browsermob プロキシを使用してリクエストをキャプチャし、正しいデータがユーザー トラッキング サービスに渡されていることを確認しています。

特定の状況では、サービスにヒットするリクエストがプロキシによって記録されません。これが発生する理由は、ブラウザがトラッキング サービスからの応答を取得する前に次のページに移動するためです。リクエストは実際に宛先にヒットします。これは、データベースの状態からわかります。ブラウザーは応答を待機しないため、デフォルトの 5 秒の waitにもかかわらず、プロキシによって認識されません。この場合は無視されているようです。これはたまにしか発生しないため、テスト レポートで偽陰性が発生します。

トラッキングによってユーザー ジャーニーが妨げられたくないので、ブラウザにこれらのリクエストを実際に待機させることはできません。私がやりたいことは、送信されていないリクエストと途中でキャンセルされたリクエストの違いを伝えるためにプロキシを何らかの形で構成することです。このようにして、この情報をレポートに添付できました。

Browsermob プロキシを使用してこれを達成することは可能ですか? おそらく、他のツールがより良い仕事をするでしょう。

4

1 に答える 1

1

Phantomjs の webDriver 実装を使用してみてください。Jetty プロキシ サーバーを開始する必要はなく、応答がない場合でもすべての要求を取得できます。

于 2014-04-24T18:43:59.533 に答える