Semalt:Google AnalyticsでSelenium WebDriverからの内部トラフィックを除外する

時々、サイトは最適化レベルを決定するためにテストを必要とします。 Selenium WebDriverとWatirは、使用されている自動UIテストツールの1つです。したがって、開発者は、サイトにアクセスすることにより、内部トラフィックとしてもカウントされることを考慮に入れる必要があります。このようなトラフィックをGoogle Analyticsから除外して、レポートの偏りを防ぐことは賢明です。
SemaltのシニアカスタマーサクセスマネージャーであるJulia Vaishnavaは、テスト環境で実行した場合、Seleniumからトラフィックを削除することは比較的簡単であると述べています。本番環境のGAトークンを使用して、分析データを分離できます。もう1つの方法は、GA拡張機能をテストサーバーに追加しないようにすることです。
ただし、開発者が本番環境に対してSeleniumを使用する場合、Googleアナリティクスによって生成されたトラフィックを除外する方法はいくつかあります。特定のトラフィックを除外する必要があるものもあれば、Seleniumテストコードの完全な更新が必要なものもあります。
一般的なソリューション
1. IP / ISPを除外します。開発者は、特定のIPアドレスまたはIPアドレスの範囲、またはISP用のカスタムフィルターを作成して、内部トラフィックの記録を防ぐことができます。実行する手順は次のとおりです。[管理]を選択し、[フィルター]に移動して、[フィルターの追加]を選択します。新しいフィルターの作成を選択し、カスタム機能を選択します。 [除外]ボタンを探して選択します。
フィルターフィールドからIPアドレスを選択し、フィルターパターンからIPアドレスを選択します。

このメソッドは、Seleniumによって生成されないトラフィックも除外する場合があります。テストを実施する人が動的IPまたは分散CIシステムを使用している場合、それらすべてをGoogleアナリティクスで維持するのは面倒な作業になる可能性があります。
2.ホストファイルを編集します。 Google Analyticsの設定を変更する必要はありません。トラフィックがサーバーに到達するのを防ぐだけです。つまり、テストの実行に使用されるマシンでホストのファイルを編集する必要があります。テスト環境の権限を追加または削除する必要があります。すべてのサイトからのすべてのトラフィックをブロックしますが、これはサイトにとって理想的なことではありません。
セレン固有のソリューション
1. JavaScriptを無効にします。 Googleアナリティクスで使用されるトラッキングコードはJavaScriptであり、GAがトラフィックを記録しないように無効にすることが合理的な解決策です。ただし、最新のWebサイトはJavaScriptに依存しているため、フォーカスのあるサイトでJavaScriptをまったく使用しない限り、その答えは実現できません。 SeleniumはJavaScriptに依存しているため、この機能を無効にすると、奇妙なテスト結果が生じる可能性があります。
2.カスタムユーザーエージェントを設定します。 Googleアナリティクスのラップサイトでは、Seleniumを使用している一部のユーザーからのトラフィックを無視するifステートメントを作成できます。したがって、Seleniumテストからの内部トラフィックを処理するための別のもっともらしいソリューションとして機能します。
3.オプトアウトプラグイン。 Googleには、サイトの所有者がGoogleアナリティクスをオプトアウトするオプションを提供する公式のプラグインがあります。プラグインをインストールした場合、Googleはそのサイトから情報を収集または使用しません。カスタムアドオンがインストールされていないと、Seleniumは起動しません。つまり、手動で追加する必要があります。
4.プロキシを使用します。 BrowserMobは、ブラックリストを作成するオプションがあるため、開発者が使用するプロキシです。 Googleアナリティクスに送信されるデータをブロックするときに便利です。