ブラウザテスト

概要

ブラウザテストは、Datadog が Web アプリケーション上で実行するシナリオです。世界中の複数の場所からさまざまなブラウザおよびデバイスを使用して実行され、テスト間隔は自由に設定できます。これらのテストは、アプリケーションが稼働してリクエストに応答していること、シナリオで定義された条件が満たされていることを確認します。

MFA の背後にあるアプリケーションのテストに興味がある場合は、専用ガイドを読み、フィードバックを送信して、Synthetic Monitoring チームがお客様のチームにとって最も重要なシステムの構築をできるようサポートしてください。

テストコンフィギュレーション

ブラウザテストの構成を定義します。

  1. Advanced Options (オプション): ブラウザテストに特定のオプションを設定します。

クロスオリジンリソース共有 (CORS) ポリシーでテストがブロックされないようにするには、Disable CORS を選択します。

  • Request Headers: Name および *Value フィールドでヘッダーを定義して、デフォルトのブラウザヘッダーに追加またはオーバーライドします。たとえば、ヘッダーに User Agent を設定して、Datadog スクリプトを識別できます。
  • Cookies: ブラウザのデフォルトのクッキーに追加するクッキーを定義します。1 行に 1 つのクッキーを入力し、Set-Cookie の構文を使用します。
  • HTTP Authentication: HTTP Basic、Digest または NTLM を使用し、ユーザー名とパスワードで認証を行います。資格情報は、ブラウザテストのすべてのステップで使用されます。

リクエストオプションは、テストの実行ごとに設定され、記録時間ではなく、実行時にブラウザテストのすべてのステップに適用されます。 次のステップを記録するためにこれらのオプションを有効にしたままにする必要がある場合は、記録元のページでオプションを手動で適用し、テスト内で次のステップを作成します。

Ignore server certificate error を選択すると、サーバー証明書のエラーをスキップするようにテストが指示されます。

  • Client Certificate: クライアント証明書を必要とするシステムでテストを行うには、Upload File をクリックして、証明書ファイルと秘密鍵をアップロードしてください。PEM 証明書のみ受け付けます。
  • Client Certificate Domains: 証明書ファイルをアップロードすると、クライアント証明書は、開始 URL のドメインに適用されます。別のドメインにクライアント証明書を適用する場合は、Value 欄にドメインを指定します。

URL にワイルドカードを含めることができます。

Proxy URL フィールドに、リクエストを送信するプロキシの URL を http://<YOUR_USER>:<YOUR_PWD>@<YOUR_IP>:<YOUR_PORT> として入力します。

URL にグローバル変数を含めることができます。

Do not capture any screenshots for this test を選択して、テストステップでスクリーンショットが撮影されないようにします。

このプライバシーオプションは、個々のテストステップレベルの詳細オプションとして利用でき、テスト結果に機密データが表示されないようにすることができます。

テストがスクリーンショットを撮らないようにすると、失敗のトラブルシューティングが難しくなります。詳しくは、セキュリティを参照してください。

  1. Select tags: ブラウザのテストにアタッチされる env と関連するタグです。与えられた <KEY> に対する <VALUE> をフィルタリングするには、<KEY>:<VALUE> という形式を使用します。
  2. Browsers & Devices: テストを実行するブラウザ (ChromeFirefoxEdge など) とデバイス (Laptop LargeTabletMobile Small など)。
    • 大型のラップトップデバイスの場合、寸法は 1440 ピクセル × 1100 ピクセルです。
    • タブレットデバイスの場合、寸法は 768 ピクセル × 1020 ピクセルです。
    • 小型のモバイルデバイスの場合、寸法は 320 ピクセル × 550 ピクセルです。
  3. Select locations: テストを実行するための Datadog が管理するロケーションです。世界中の多くの AWS ロケーションが各サイトで利用可能です。また、プライベートロケーションを設定して、カスタムロケーションやプライベートネットワーク内部からブラウザテストを実行することも可能です。Datadog アプリでロケーションの全リストを見るか、API を使用してください。

    : Datadog for Government のサイトでは、 West US (AWS GovCloud) のロケーションがサポートされています。

  4. Select test frequency: 間隔は 5 分に 1 回から週に 1 回までさまざまです。1 分ごとの頻度については、サポートにお問い合わせください。

グローバル変数を使用する

Settings で定義したグローバル変数は、Starting URL のほか、ブラウザテストの Advanced Options でも使用できます。変数の一覧を表示するには、フィールドに {{ と入力します。

ブラウザテストの記録でグローバル変数を使用するには、記録したステップに移動して、Start Recording ボタンの下にある + Variables をクリックします。ドロップダウンメニューから、Global Variable を選択します。

利用可能なグローバル変数

利用可能なグローバル変数を検索し、+ をクリックして記録パネルに追加します。グローバル変数の追加が完了したら、OK をクリックします。

アラート条件を定義する

アラートの条件をカスタマイズして、通知アラートの送信をテストする状況を定義できます。

  • N のうち n の数の場所で、X の時間(分)継続してアサーションが失敗した場合は、アラートがトリガーされます。このアラートルールにより、通知をトリガーする前にテストが失敗する必要がある時間と場所の数を指定できます。
  • 場所が失敗としてマークされる前に、X 回再試行します。これにより、場所が失敗と見なされるために、連続していくつのテスト失敗が発生する必要があるかを定義できます。デフォルトでは、失敗したテストを再試行する前に 300 ミリ秒待機します。この間隔は、API で構成できます。
ブラウザテストのアラートルール

チームへの通知

通知はアラート設定の条件に従って送信されます。通知を構成するには以下の手順に従ってください。

  1. ブラウザテストのメッセージを入力します。このフィールドでは、標準のマークダウン形式のほか、以下の条件付き変数を使用できます。

    条件付き変数説明
    {{#is_alert}}モニターがアラートする場合に表示
    {{^is_alert}}モニターがアラートしない場合に表示
    {{#is_recovery}}モニターがいずれかの ALERT から回復する場合に表示
    {{^is_recovery}}モニターがいずれかの ALERT から回復しない場合に表示
    {{#is_renotify}}モニターが再通知したときに表示します。
    {{^is_renotify}}モニターが再通知しない限り表示します。
    {{#is_priority}}モニターが優先順位 (P1~P5) に一致したときに表示します。
    {{^is_priority}}モニターが優先順位 (P1~P5) に一致しない限り表示します。

    通知メッセージには、このセクションで定義されたメッセージや、失敗した場所に関する情報が記載されます。

  2. 通知先のサービスあるいはチームメンバーを選択します。

  3. 再通知の頻度を指定します。テストの失敗を再通知しない場合は、Never renotify if the monitor has not been resolved オプションを使用してください。

  4. Save Details and Record Test をクリックします。

ステップを記録する

テストの記録を実行できるのは Google Chrome だけです。テストを記録するには、Google Chrome 用の Datadog test recorder をダウンロードする必要があります。

アプリケーション上でアクションを実行するために (リンクをクリックして別のタブを開くなど) ブラウザテストの記録でタブを切り替え、別のテストステップを追加することができます。ブラウザテストは、アサーションを実行する前に、まず (クリックによって) ページと相互作用する必要があります。すべてのテストステップを記録することによって、ブラウザテストはテスト実行時に自動的にタブを切り替えることができます。

ブラウザでのテストの記録
  1. 必要に応じて、ページの右上にある Open in a pop-up を選択して、別のポップアップウィンドウでテスト記録を開きます。これは、アプリケーションが iframe で開くことをサポートしていない場合、または記録時のサイズの問題を回避したい場合に役立ちます。シークレットモードでポップアップを開いて、ログイン済みのセッションや既存のブラウザからの Cookie などを使用せずに、新しいブラウザからテストの記録を開始することもできます。

  2. オプションとして、ブラウザテストからステップの記録を実行する際に、Datadog が自動的に RUM データを収集するように設定します。詳細については、RUM とセッションリプレイの探索を参照してください。

  3. Start Recording をクリックして、ブラウザテストの記録を開始します。

  4. 監視したいユーザージャーニーを通過するアプリケーションをクリックすると、アクションが自動的に記録され、左側のブラウザテストシナリオ内でステップを作成するために使用されます。

  5. 自動的に記録されたステップに加えて、左上隅にあるステップを使用して、シナリオを強化することもできます。

    ブラウザテストのステップ

    : ブラウザテストによって実行されたジャーニーが期待される状態になったことを確認するために、常にブラウザテストは、アサーションで終了する必要があります。

  6. シナリオが終了したら、Save and Launch Test をクリックします。

アクセス許可

デフォルトでは、Datadog 管理者および Datadog 標準ロールを持つユーザーのみが、Synthetic ブラウザテストを作成、編集、削除できます。Synthetic ブラウザテストの作成、編集、削除アクセスを取得するには、ユーザーをこれら 2 つのデフォルトのロールのいずれかにアップグレードします。

カスタムロール機能を使用している場合は、synthetics_read および synthetics_write 権限を含むカスタムロールにユーザーを追加します。

アクセス制限

アカウントにカスタムロールを使用しているお客様は、アクセス制限が利用可能です。

組織内の役割に基づいて、ブラウザテストへのアクセスを制限することができます。ブラウザテストを作成する際に、(ユーザーのほかに) どのロールがテストの読み取りと書き込みを行えるかを選択します。

テストのアクセス許可の設定

その他の参考資料