ブラウザテスト

概要

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

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

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

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

  1. Starting URL を入力します。ブラウザテストがシナリオを開始する URL です。

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

    クロスオリジンリソース共有 (CORS) ポリシーがテストをブロックするのを防ぐには、Disable CORS を選択します。コンテンツセキュリティポリシー (CSP) がテストをブロックするのを防ぐには、Disable CSP を選択します。

    • 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 を選択して、テストステップでスクリーンショットが撮影されないようにします。

    このプライバシー オプションは、個々のテストステップレベルで詳細オプションとして利用でき、テスト結果に機密データが表示されないようにすることができます。テストによるスクリーンショットの撮影を防止すると、失敗のトラブルシューティングがより困難になります。詳細については、データセキュリティを参照してください。

  3. 名前を追加します。ブラウザテストの名前です。

  4. 環境と追加タグを選択します。ブラウザのテストにアタッチされる env と関連するタグを設定します。与えられた <KEY> に対する <VALUE> をフィルタリングするには、<KEY>:<VALUE> という形式を使用します。

  5. ブラウザとデバイスを選択します。テストを実行するブラウザ (ChromeFirefoxEdge など) とデバイス (Laptop LargeTabletMobile Small など) です。

    • 大型のラップトップデバイスの場合、寸法は 1440 ピクセル × 1100 ピクセルです。
    • タブレットデバイスの場合、寸法は 768 ピクセル × 1020 ピクセルです。
    • 小型のモバイルデバイスの場合、寸法は 320 ピクセル × 550 ピクセルです。
  6. 管理ロケーションとプライベートロケーションを選択します。Datadog が管理する世界中のロケーションを設定し、そこからテストを実行します。また、プライベートロケーションを作成し、カスタムロケーションやプライベートネットワーク内からブラウザテストを実行することも可能です。ロケーションの完全なリストについては、UI に移動するか、API を使用してください。

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

  7. テスト頻度を設定します。間隔は 5 分に 1 回から週に 1 回までさまざまです。1 分単位の頻度を希望する場合は、サポートにお問い合わせください。

変数

ローカル変数を作成する

ローカル変数を作成するには、右上の Create Local Variable をクリックします。以下の利用可能なビルトインのいずれかから選択することができます。

{{ numeric(n) }}
n 桁の数字列を生成します。
{{ alphabetic(n) }}
n 文字のアルファベット文字列を生成します。
{{ alphanumeric(n) }}
n 文字の英数字文字列を生成します。
{{ date(n unit, format) }}
テストが + または - n 単位で開始された UTC 日付に対応する値を使用して、Datadog の許容される形式のいずれかで日付を生成します。
{{ timestamp(n, unit) }}
テストが + または - n 単位で開始された UTC タイムスタンプに対応する値を使用して、Datadog の許容される単位のいずれかでタイムスタンプを生成します。

テスト結果のローカル変数値を難読化するには、Hide and obfuscate variable value を選択します。変数文字列を定義したら、Add Variable をクリックします。

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

ブラウザテストの詳細の Starting URLAdvanced Options、およびテストの記録で Settings で定義されているグローバル変数を使用してローカル変数を定義することができます。利用可能な変数のリストを表示するには、目的のフィールドに {{ と入力してください。

記録を開始する前に、ユーザージャーニーに組み込む変数を定義します。

記録中に利用可能な変数を注入することができます。ブラウザテストの記録で変数を使用する方法については、ブラウザテストの手順を参照してください。

アラート条件を定義する

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

ブラウザテストのアラートルール
  • 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 をクリックすると、テストの構成が保存され、ブラウザのステップが記録されます。

詳しくは、Synthetic テストモニターの使用をご覧ください。

ステップを記録する

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

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

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

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

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

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

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

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

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

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

アクセス許可

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

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

アクセス制限

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

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

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

その他の参考資料