API テストの概要

API テストの概要

API テストの作成

API テストを作成すると、API エンドポイントを監視して、失敗や遅延が起きた場合にアラートを受け取ることができます。このチェックによって、アプリケーションがリクエストに応答していることや、応答時間HTTP ステータスコードヘッダー本文の内容などの定義された条件をすべて満たしていることを検証できます。

以下の例では、Web サイトが常に稼働し、特定の時間内で応答を返していることを確認するための API テストを作成します。

リクエストを構成する

  1. Datadog アプリケーションで、左側のメニューにある UX Monitoring にカーソルを合わせ、Synthetic Test を選択します。

  2. 右上の New Test ボタンをクリックします。

  3. API test を選択します。

  4. API テストのコンフィギュレーションを定義します。

    • 監視するエンドポイントの URL を追加します。追加する URL がない場合は、テスト用の Web アプリケーションである https://www.shopist.io/ を使用してください。
    • カスタムリクエストヘッダー、認証資格情報、本文コンテンツ、cookie を使用するには、Advanced Options を選択します。
    • テストで env:prodapp:shopist のようなタグを設定できます。タグは整理をしたり、興味のあるテストをホームページで見つける場合などに役立ちます。
    • 管理された場所から、テストを実行する場所を選択します。
    • Test URL ボタンをクリックします。

アラート条件を定義する

テスト URL をクリックすると、エンドポイントの応答に基づく基本のアサーションが自動で入力されます。アサーションにアラート条件が定義され、カスタマイズすることができます。この例では、URL をテストする際に 3 つのデフォルトのアサーションが入力されます。

これらのアサーションにアラート条件が定義され、カスタマイズすることができます。アサーションを追加するには、応答のプレビューを直接クリックします。あるいは、New Assertion ボタンをクリックして、アサーションを手動で追加することもできます(例: body に Shop.ist を含む)。

ブラウザテストの失敗

エンドポイントが 3 分間、2 つの異なる場所でダウンした場合にのみアラートを出すように条件を設定するには、次のようにオプションを指定します。

An alert is triggered if your test fails for 3 minutes from any 2 of 13 locations

また、ある場所を失敗と見なすまでの再試行回数を決めることもできます。場所が失敗になると、ただちに再試行が実行されます。以下のオプションを使用してテストを構成できます。

Retry x time before location is marked as failed

: デフォルトでは、失敗したテストを再試行するまでに 300ms の待機時間があります。この時間は、API を使用して構成することができます。

アラート条件を設定した後、アラートのメッセージを作成し、アラート通知メールを受信するサービスとチームメンバーを指定して、Save Test をクリックします。また、アラート通知の受信に Slack、PagerDuty、webhooks などのインテグレーションを使用することもできます。

テスト結果

API テスト詳細ページには、テストコンフィギュレーションの詳細、テストを実行したエンドポイントに関連するアップタイム、応答時間の履歴グラフ、ネットワークのタイミング、および個別のテスト結果とイベントのリストが含まれます。

失敗したテストのトラブルシューティングを行うには、Test Results セクションをスクロールして失敗したテストのいずれかをクリックします。失敗したアサーションと、返されたステータスコード、応答時間、関連するヘッダー、本文といった応答の詳細を確認して問題を診断します。

Datadog の Synthetic モニタリングとの APM インテグレーション を使用すると、失敗したテストランから生成されたトレースを見ることで、テストランが失敗した問題の根本原因を探ることができます。