Docs » エンドポイントのAPIテスト

エンドポイントのAPIテスト 🔗

APIテストは、APIエンドポイントの機能とパフォーマンスをチェックする柔軟な方法を提供します。

APIファースト開発への継続的なシフトにより、フロントエンドのコア機能を提供するバックエンドサービスをモニタリングする必要性が高まっています。複数ステップのAPIインタラクションをテストすることに興味があるにしても、エンドポイントのパフォーマンスを可視化したいにしても、APIテストは目標を達成するのに役立ちます。

注釈

Splunk Synthetic Monitoring APIテストはREST APIのみをサポートしています。APIテストでは特定のSOAPインタラクション (HTTP/SでのSOAPメッセージの送信など) を許可する場合がありますが、SOAPは公式にはサポートされていません。

Use cases for an API test

APIテストでは、以下が可能です:

  • 個々のAPIエンドポイントの可用性とパフォーマンスを確認する

  • APIエンドポイントが正しいデータとレスポンス座標を返していることを確認します。

  • 変数と動的データ入力を使用したトランザクションAPIワークフローをテストする

  • HTTPリクエストまたはレスポンスの任意の部分に基づいてアラートをセットアップする

What happens during an API test?

API テストでは、Splunk Synthetic Monitoring がテストしたい API エンドポイントにコールを行い、エンドポイントのパフォーマンスとアップタイムの特性をレポートします。これにより、顧客が API で問題に直面する前に、API のパフォーマンスをプロアクティブに監視できます。

API Request

API テストは1つ以上の API リクエストで構成されます。リクエストでは、Splunk Synthetic Monitoring がエンドポイントを呼び出し、対話からデータを収集します。リクエスト内には、セットアップステップ、リクエストステップ、検証ステップを含めることができます。

Setup steps

セットアップステップには、JavaScriptの一部を実行したり、既存のデータや以前のリクエストのレスポンスボディからリクエストで必要となる変数を抽出したりするなど、APIリクエストをセットアップするために必要なアクションが含まれます。

次の表は、作成できるセットアップ手順のタイプを示しています:

設定ステップのタイプ

説明

保存

テストの後半で再利用するデータの一部を保存します。

抽出

フォーマットされたデータ(JSON、XML、HTML)から変数を抽出します。

JavaScript

カスタムJavaScriptコードを実行します。Splunk Syntheticsは一部のJavaScript関数のみをサポートしています。詳細は、JavaScriptのSyntheticsサポート を参照してください。

Request step

リクエストステップはAPIリクエストのボディを形成します。ここにはAPIリクエストのURLを入力します。GET、POST、PUT、PATCH、DELETE、HEAD、またはOPTIONSリクエストを作成できます。

リクエストステップでは、1つ以上のリクエストヘッダーを追加することができます。

Validation steps

APIリクエストの一部として、1つ以上の検証ステップを含めることもできます。検証ステップでは、リクエストが期待通りのレスポンスを返したかどうかをチェックしたり、JavaScriptを実行したり、レスポンスボディから値を保存したり抽出したりすることができます。

次の表は、作成できる検証ステップのタイプを示しています:

ステップタイプ

説明

アサート

2つの値(文字列または数値)についてアサーションを行います。

保存

テストの後半で再利用するデータの一部を保存します。

抽出

フォーマットされたデータ(JSON、XML、HTML)から変数を抽出します。

JavaScript

カスタムJavaScriptコードを実行します。Splunk Syntheticsは一部のJavaScript関数のみをサポートしています。詳細は、JavaScriptのSyntheticsサポート を参照してください。

JavaScriptのSyntheticsサポート 🔗

Splunk Syntheticsが提供するのは、スクリプト実行用のV8エンジンのみです。Node.jsの実行環境は提供しません。つまり、Node.jsの機能をサポートしていません。例えば、fs を使用したファイルシステムへのアクセス、http を使用したHTTPリクエスト、setTimeout や同様の関数を使用したイベントループ、requiremodule.exports などのモジュールはサポートされていません。

このページは 2025年03月18日 に最終更新されました。