このセクションでは JSON Assertor ツールについて説明します。JSON Assertor ツールは JSON メッセージ中の異なる要素にアサーションを設置できます。 このツールを使用するには有効なライセンスが必要です。
このセクションの内容:
Table of Contents | ||
---|---|---|
|
Note | ||
---|---|---|
| ||
JSON Assertor ツールはバージョン 9.7 で再実装されました。以前の実装は廃止予定です。既存のツールは引き続き動作しますが、ユーザーが追加する新しい JSON Assertor は新しい実装を使用します。 このセクションでは、現在の JSON Assertor 実装に焦点を当てています。廃止予定の JSON Assertor については、 「JSON Assertor (非推奨)」を参照してください。 |
JSON Assertor ツールとは
JSON Assertor ツールは、JSON メッセージ中のデータの正確性を高めるために使用します。 このツールは、 JSON メッセージの個別の要素を見て、期待値を満たしているかチェックできます。
JSON Assertor ツールは JSON メッセージを通信する他のツールと接続させることができます。最もよく接続されるのは Messaging Client ツールと REST Client ツールです。
このツールは、 [回帰コントロールの作成/更新] ダイアログから [値アサーションの作成] オプションを選択することで、 JSON メッセージのために追加されます。この方法で JSON Assertor を追加する詳細については、 「個々のレスポンス要素値の検証」を参照してください。
[出力の追加] ウィザードから追加することも可能です。詳細については、 「テスト出力の追加」を参照してください。
JSON Assertor ツールの構成
JSON Assertor は次の 3 つのメイン タブから構成されます。
- 概要: 設定された JSON アサーションの詳細が表に表示されます。
- 設定: 新しい JSON アサーションの作成や既存の JSON アサーションの編集をします。
- 期待される JSON: 要素を選択できるテンプレートを作成する、期待される JSON レスポンスを指定します。 JSON Assertor が正常な JSON メッセージを受信する場合 (例: トラフィックから、あるいは連結先のツールから)、このパネルは自動的にデータが投入されます。代わりに、サンプル メッセージを [リテラル] タブや [ツリー] タブにコピーすることも可能です。注意: 期待される JSON はデフォルトでは保存されませんが、保存したい場合は、[期待される JSON を保存] オプションをオンにします。
JSON Assertor ツールを構成するには、次の操作を行います。
- JSON Assertor ツールの [設定] タブで [追加] ボタンをクリックします。
[選択アサーション] ウィザードが開きます。 - アサーションの種類を選択します。利用可能なアサーション タイプの概要を次に説明します。
- 値アサーション: 次の値アサーションが利用できます。
- 値アサーション: 特定の要素の値を強制します。
- 値オカレンス アサーション: 指定された値を持つ要素が特定の回数出現することを強制します (たとえば、ドキュメントに XPath セレクターと指定された文字列値の両方に一致するものが n 個なければならないなど)。
- 数値アサーション: 要素の数値を強制します。
- 文字列比較アサーション: 指定された要素のテキスト コンテンツの値を強制します。
- 正規表現アサーション: 要素が正規表現と一致することを強制します。
- 式アサーション: 要素から構成される式の値を強制します。
- カスタム アサーション: カスタム ロジックを用いて要素の値を強制します。
- 構造アサーション: 次の構造アサーションが利用できます。
- オカレンス アサーション: 要素のオカレンスの数を強制します。
- Has Content アサーション: 要素にテキスト コンテンツがあることを強制します (例: 文字列の長さ > 0 ) 。
- Has Children アサーション: 要素に 1 つ以上の子要素があることを強制します。
- Type Assertion: 要素の種類を強制します。
- 複合アサーション: 次の複合アサーションが利用できます。
- AND アサーション: すべて成功しなければならない複数のアサーションをグループ化します。
- OR アサーション: 少なくとも 1 つが成功する必要がある複数のアサーションをグループ化します。
- 条件付きアサーション: 条件を満たす場合にだけアサーションを適用します (条件はこれまでに定義したアサーションの組み合わせです) 。
- 差分アサーション: 次の差分アサーションが利用できます。
- 数値差分アサーション: 特定要素の値に対して数値の差分を強制します。 要素の数値が、ユーザー定義のベース値からユーザー定義の数値の分だけ異なることをアサートします。たとえば、摂氏温度の値は氷点下 3 度であるとアサートするには、ベース値を 0、差分を -3 に設定します。
- 日付差分アサーション: 特定要素の値に対して日付の差分を強制します。
- DateTime 差分アサーション: 特定要素の値に対して日時の差分を強制します。
- 範囲アサーション:次の範囲アサーションが利用できます。
- 数値範囲アサーション: 要素の数値が、数値範囲の包括的な範囲内にあることを強制します。
- 日付範囲アサーション: 特定要素の値に対して日付の範囲を強制します。
- DateTime 範囲アサーション: 特定要素の値に対する日時の範囲を強制します。
- 値アサーション: 次の値アサーションが利用できます。
- [次へ] ボタンをクリックします。ツリー ビューが表示されます。
- ツリー ビューで、このアサーションにチェックさせたい要素を選択し、[終了] ボタンをクリックします。
注意: ツールの [期待される JSON] タブでこの構造を編集できます (上記で説明)。
[設定] タブの [追加] をクリックし、メッセージに適用するアサーションを追加できます。
追加オプションを指定したい場合 (例: 値の格納に使用される列名を変更したい、書き込み可能なデータ ソースに値を保存したい、あるいは既存の変数に値を格納したい場合など)、または参照される要素を変更したい場合は、 [設定] タブの右下にある [要素の変更] ボタンをクリックします。ダイアログが開き、グラフィカルに、または手動で任意の要素を編集できます。
このダイアログを使用して追加オプションを設定する方法については、「JSON Selector のリファレンス」を参照してください。
ツールのオプション
[コンテンツのトリム] オプションは、期待されるテキストと比較する前に、抽出した文字列の先頭から末尾までにある空白を取り除きます。たとえば、「 bar 」が抽出された場合は「bar」となります (すべての例でかぎ括弧は無視してください。空白を表すために使用しているだけです)。[コンテンツのトリム] オプションがオフの場合、これは「bar」に一致し、「 bar 」には一致しません。
ビデオ チュートリアル
このビデオは、JSON レスポンスで目的のアサーションを追加する方法について説明します。
Vimeo | ||
---|---|---|
|