このセクションでは、JSON Assertor および JSON Data Bank ツールで JSON 要素を選択するためのヒントを提供します。
このセクションの内容:
JSON を扱いノードを選択するために、SOAtest と Virtualize は XML DOM を内部に構成してノードの選択に XPath を使用します。XML 構造は JSON 構造に非常に厳密に一致します。次の場合を除き、すべての名前と値は等しいです。
ドキュメントのルート ノードは XPath では「root」と呼ばれますが、JSON ドキュメントではオブジェクトや配列のリファレンスです。SOAtest と Virtualize の JSON ツリーでは "{}" や "[]" として表されます。
配列のアイテムは XPath では「item」と呼ばれますが、 JSON ドキュメントでは配列の要素であるという性質から名前がありません。 SOAtest と Virtualize の JSON ツリーでは "[0]"、 "[1]" などとして表されます。
XML 要素名で不正である文字を含む JSON 名は、 XPath での使用において正当である XML 要素名を作成するために変換されます。SOAtest と Virtualize の JSON ツリーは、 JSON ドキュメントにある通りの、元の名前を表示します。
JSON ツリーのノードを選択すると、SOAtest と Virtualize は関連する XPath も作成します。
手動で XPath を構成する必要があるが、 どのノード名を XPath で使用すればよいか分からない場合、 JSON ツリーを使用してノードを選択することをお勧めします。そうすることで XPath が生成されるので、その後レビューして特定のニーズに合うように変更できます。
[要素の変更](JSON Assertor) または [編集](JSON Data Bank) をクリックして開くダイアログでは、次のオプションが利用可能です。
書き込み可能なデータ ソース列:SOAtest と Virtualize に値を書き込み可能なデータ ソース列に格納するよう通知します(詳細は 「書き込み可能なデータ ソースの構成」 を参照してください)。値の配列を格納できます。他のツールは格納された値を繰り返し使用できます。
変数: 指定の変数に値を保存して、現在のテスト スイート、レスポンダー スイート、またはアクション スイートで再利用できるようにします。変数は現行のテスト スイート に追加されている必要があります。詳細については次のセクションを参照してください: 「SOAtest での変数の定義」または「Virtualize での変数の定義」この方法で設定された値は、スイート プロパティ パネルで指定されたローカル変数の値を上書きします。
ヘッダーには、ヘッダー名のみならず上にリストされているデータ ソース列オプションも設定できます。
XPath をパラメータライズし、テスト スイートまたはレスポンダー スイートの変数、環境変数、データ ソース値を参照できます。変数を参照するための構文は、${myVariableName} です。Data Bank の値と XML Data Source の値を参照する構文は ${myColumnName} です。
たとえば、データ ソース列名が ${XPath Key} の場合、次の構文を使用できます。
/*[local-name(.)="bookstore" and namespace-uri(.)=""]/*[local-name(.)="book" and namespace-uri(.)=""][child::node()[local-name(.)="title" and text()="${XPath Key}"]]]