このツールについて
コードでアサーションを書く前に、実際のレスポンスに対して試し、どれが通るかを確認しておくと役立ちます。JSON ボディと、必要に応じて DevTools や curl -i からコピーしたステータスコードとヘッダーを貼り付け、表形式でチェックを定義します。JSONPath が存在する・しない、値と等しい、型が一致する、正規表現に一致する、要素を含む、長さが一致する、数値より大きい・小さい、などです。ステータスのチェックは正確なコードか 2xx のようなクラスを受け付け、ヘッダー名は大文字・小文字を区別せずに照合されます。結果はテストランナーのように ✓ と ✕ の行で表示され、「3 passed, 1 failed」(3 件成功、1 件失敗)という要約をバグレポートにコピーできます。JSONPath はスクリプト評価を無効にして評価されるため、フィルター式は実行されずに拒否されます。貼り付けたテキストからは応答時間を測定できないため、そのチェックはスキップとして報告されます。
使い方
- レスポンスボディの JSON と、チェックしたい場合はステータスとヘッダーを貼り付けます。または「Load sample」(サンプルを読み込む)をクリックします。
- チェックを追加します。対象を選び、$.data[*].email のような JSONPath かヘッダー名を入力し、演算子と期待値を選びます。
- 入力に合わせて表示される結果を確認し、レポートをコピーします。複数の値に一致するパスは、すべての値で条件を満たす必要があります。
API レスポンス検証ツール のよくある質問
$..[?(@.price > 10)] のようなフィルター式が失敗するのはなぜですか?
フィルター式やスクリプト式はコードの評価が必要で、このツールは安全のためそれを無効にしています。代わりに $.items[*].price のようなワイルドカードのパスと「>」などの演算子を使ってください。一致したすべての値が条件を満たす必要があります。
期待値はどのように解釈されますか?
JSON として解析できる場合は JSON として比較されます。つまり 42 は数値、"42" は文字列、true は真偽値、null は null です。それ以外はプレーンテキストとして比較されます。オブジェクトと配列の等価比較では、キーの順序は無視されます。
これらのチェックを自動テストにできますか?
はい。チェックが通ったら、API アサーション生成ツールを使って、同等の Playwright、Postman、REST Assured、Cypress のアサーションを生成してください。