このセクションでは、XML Data Bank ツールの構成と適用方法について説明します。XML Data Bank ツールを使用すると、リクエスト メッセージやレスポンス メッセージから XML 値を抽出して他のツールで使用できます。抽出したデータは、書き込み可能なデータ ソースへ格納して Extension Tool で使用したり、変数に代入してテスト スイート間 (SOAtest) または レスポンダー スイート/アクション スイート間 (Virtualize) で再利用したりすることができます。

このセクションの内容:

XML Data Bank ツールとは

XML Data Bank ツールを使用すると、リクエスト メッセージやレスポンス メッセージから指定の XML 値を抽出し、他のツールで使用できます。 XML Data Bank ツールは、 XML を出力する任意のツールに接続できます。 XML Data Bank ツールは、 XML から任意の情報を抽出し、今後のテストで使用できるようにします。


たとえば、銀行の Web サービス トランザクションをテストするテスト スイートを構成するとします。このテスト スイートの Test 1 が ユーザー ID を使ってサービスにログオンすると、 SOAP レスポンスは Test 1 にセッション ID を返します。Test 2 は Test 1 のセッション ID を使用してトランザクションを実行するように構成できます。テスト スイート中の任意のテストで、 SOAP レスポンス パラメーターを SOAP リクエスト パラメーターとして使用するように構成できます。

XML Data Bank ツールは、通常データ ソース ウィザードを使って構成します。値は SOAP Client ツールや Messaging Client ツールでパラメータライズします。データ ソース ウィザードを使用するのは、あるツールからデータを抽出して別のツールで使用するために、迅速で、直感的で、大部分が自動化された方法です。抽出したデータを挿入するツールへ移動し、ウィザードを使用してどのツールからどのデータを抽出するか指定します。これはチュートリアルの「Storing Results to Be Used in Subsequent Tests」項目で紹介している使用モデルです。これと同じ手法で、変数にセットするためのデータを抽出できます。あるいは、手動で XML Data Bank ツールを構成し、ひとつのツールからデータを抽出するようにします。そして別のツールを手動で構成し、抽出した値を使用できるようにします。

Virtualize では、たとえば、着信リクエストから値を抽出し、そのリクエストに対するレスポンスの要素として使用することもできます。XML Data Bank は、ウィザードを使用してトラフィックからの仮想アセットを作成する際に自動で設定できます。さらに、[データ ソース ウィザードの使用] ウィザードを使用すると、抽出した値をパラメーター値としてレスポンスで使用できます。メッセージ レスポンダーでは、着信リクエストのボディやヘッダーから値を抽出できます。アクション スイートで使用されるツールでは、スイート中の他のツールから値を抽出できます。その他のオプションとしては、XML Data Bank ツールを既存のツールの出力先として手動で追加し、必要なデータを抽出するように設定します。そして抽出したデータを使用するように他のツールを設定します。

 

ビデオ チュートリアル

XML レスポンスから値を抽出し、他のテストで再利用する方法について説明します。



データ ソース ウィザードを使用した XML Data Bank ツールの構成

抽出の構成

データ ソース ウィザードを使用して XML Data Bank ツールを構成するには、次の操作を行います。

  1. (メッセージ レスポンダーでの使用には適用されません) 少なくとも 2 つのテスト ツールを持つ テスト スイートを用意します。

  2. 抽出した値を使用するツールのコンフィギュレーション パネルで、 [ビュー] ドロップダウン リストから利用可能なフォーム ビューを選択します。
  3. [操作] ドロップダウン リストから抽出した値を使用する操作を選択します。
  4. [要素] タブで、抽出した値を使用するメッセージ要素を選択します。 [パラメータライズ] を選択し、ドロップダウン リストから [データ ソース ウィザードの使用] を選択します。



  5. ウィザードでは次の操作を行います。
    1. 値を抽出したいツールを選択します(アクション スイート ツールの場合)。パネル上部のドロップダウン リストには、テスト スイート内の現在設定しているツールより前に存在するすべてのツールを表示します。たとえば、現在 Tool 4 を設定しているとすると、 Tool 1 、 2 、 3 がドロップダウン リストに表示されます。

    2. メッセージ レスポンダーでは、値を抽出したい着信リクエスト メッセージを選択し、値をメッセージ ボディから抽出するかメッセージ ヘッダーから抽出するかを指定します。

    3. パネルの左側から抽出対象を選択し、 [追加] をクリックして右側に追加します。パネルの右側には、抽出の構成で設定した値と、格納先のデータ ソース列の名前が表示されます (デフォルト設定の場合)。
    4. (オプション) たとえば、値を格納する列の名前を変更するのに、値を書き込み可能なデータ ソースか既存の変数に保存したい場合があります。このような追加オプションを指定する場合、または XPath の拡張設定を修正する場合は右側の表から適切な要素を選択し、 [変更] をクリックします。 次に、必要に応じてオプションを設定し、 [OK] をクリックします。利用可能なオプションについては 「抽出した各要素のオプション」を参照してください。

XML Data Bank ツールの手動構成

レスポンダー スイート、アクション スイート、テスト スイートのツールに XML Data Bank ツールを手動で接続することもできます。XML Data Bank ツールを接続ツールとして構成するには、次の操作を行ってください。

  1. (メッセージ レスポンダーでの使用には適用されません) 少なくとも 2 つのテスト ツールを持つ テスト スイートを用意します。

  2. 抽出したい値と関連するツールのノードを右クリックし(たとえば、着信リクエストや送信レスポンスから値を抽出したい場合、それらのメッセージを処理するメッセージ レスポンダーを選択します)、[出力の追加] をクリックします。

  3. [出力の追加] ウィザードで、どこから値を抽出するか指定し (たとえば、 SOAP エンベロープ、着信リクエスト、トランスポート ヘッダー、着信添付ファイル、送信レスポンスなど)、[終了] をクリックします。 XML Data Bank ノードがツールの下に表示されます。

  4. 次のようにツールを構成します。
    1. 抽出する値を示す XPath を指定します。 XPath を追加するには、 [期待されるメッセージ] リストから値を選択し、[要素の抽出] をクリックします。追加した値は、抽出した値と、その値に由来するツールの名前を含んだデータ ソース列名で [選択された要素] リストに表示されます。 

      デフォルトでは、XPath フィールドは大文字と小文字を区別しますが、Virtualize の起動時に適切なシステム プロパティを指定することにより、大文字と小文字の区別を変更できます。詳細については「大文字と小文字の区別」を参照してください。


      左側のパネルは、要素を選択できるテンプレートの作成に使用された、期待される XML レスポンスを表示します。このツールが (たとえばトラフィックから、あるいは連結先のクライアント ツールで定義されて) 正常な XML メッセージを受信する場合、このパネルに自動的にデータが投入されます。代わりに、サンプル メッセージを [リテラル] タブや [ツリー] タブにコピーすることも可能です。注意: 期待される XML はデフォルトでは保存されませんが、保存したい場合は、[期待される XML を保存] オプションをオンにします。
    2. XPath をさらに構成したい場合またはこの要素の抽出設定をカスタマイズしたい場合は、 [修正] をクリックして修正します。詳細については、「抽出した各要素のオプション」 を参照してください。

    3. 抽出を追加するには、 a と b の手順を繰り返してください。
    4. XML Data Bank コンフィギュレーション パネルの下部で、必要に応じてオプションをカスタマイズできます。詳細については、「ツール全体の抽出オプション」 を参照してください。

抽出した値の使用

抽出を追加あるいは修正したら、抽出したデータを使用するツールを構成します。

値に [ パラメータライズ] を選択し、ドロップダウン リストから適切なアイテムを選択します。たとえば、 "title" データ ソース列に値を保存した場合、次のように選択します。



構成オプション

XML Data Bank ツールを構成する際、次のオプションも設定できます。

抽出した各要素のオプション

以下のオプションは、XML Data Bank ツールの設定パネル右側に表示されている選択を変更することで設定できます。

XPath オプション

データ ソース列オプション

ヘッダーには、ヘッダー名のみならず上にリストされているデータ ソース列オプションも設定できます。

ツール全体の抽出オプション

XML Data Bank ツールのコンフィギュレーション パネル下部では、以下のオプションを構成できます。

テスト中に使用された Data Bank 変数の参照

コンソール ビューを設定し、テスト中に使用された Data Bank 変数を参照できます。コンソール ビューを開くには、 [ウィンドウ] メニューの [ビューの表示] > [コンソール] をクリックします。詳細については、 「変数の使用状況をモニタリング」を参照してください。

XPath のパラメータライズ

XPath をパラメータライズし、テスト変数、環境変数、データ ソース値を参照できます。変数を参照する構文は ${myVariableName} です。 XML Data Bank の値と XML Data Source の値を参照する構文は ${myColumnName} です。${myColumnName}.

たとえば、データ ソース列名が ${XPath Key} の場合、次の構文を使用できます。

/*[local-name(.)="bookstore" and namespace-uri(.)=""]/*[local-name(.)="book"

および

namespace-uri(.)=""][child::node()[local-name(.)="title" and text()="${XPath Key}"]]

空要素 / 不足要素を処理して XML レスポンスの完全性を保持

デフォルトでは、空要素と不足要素は抽出されません。  したがって、書き込み可能なデータ ソースで使用する XML レスポンスの完全性に影響をあたえる可能性があります。

たとえば、次の XML があるとします。

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<e>5</e>
	<e/>
	<e>6</e>
</root>

さらに、すべての「e」要素に抽出を作成したいと仮定します。  これを行うには、最初の要素を選択し、[要素の抽出] をクリックします。



次に、新しい抽出を選択して [修正] をクリックします。  

変更ダイアログで、 抽出する XPath を /root/e[1]/text() から /root/e/text() に変更します。



すべてのツリー ノードが抽出されるようになります。

次に、 [データ ソース列] をクリックして [書き込み可能なデータ ソースの列] を選択します。データ バンクが実行されるとき、2 つ目の要素はテキストがないため、書き込み可能なデータ ソースには 2 つの行しか含まれません。

ROW 1 = 5
ROW 2 = 6

空の値を書き込みたい場合は、 XPath を /root/e/text() から /root/e に変更して、[内容のみ] を選択します。



この方法で、内容を含むすべてのツリー要素が抽出されます。任意で [空要素の抽出方法] をオンにし、空の値から抽出された値を変更できます。以上で、 Data Bank は書き込み可能なデータ ソースに空の値を追加するようになります。

ROW 1 = 5
ROW 2 =
ROW 3 = 6

関連するチュートリアル

以下のチュートリアルでこのツールの使い方を説明しています。