Data Repository CRUD Tool を使用すると、テスト アクティビティ中に、接続されたデータ リポジトリのデータセット レコードを更新できます。 

ネイティブの CRUD ツールと CRUD Tool Extension

Data Repository CRUD Tool Extension でもデータリポジトリ内のデータを操作できますが、このツールでは必要のない、追加設定が必要です。

このセクションの内容:

はじめに

Data Repository CRUD Tool は、銀行アプリケーションで口座残高の値を変更するなど、リポジトリ内のデータ変更を必要とするアクションを自動化することを目的としています。データ リポジトリのレコードに対して以下の操作を行うことができます。

  • 新しいデータセット レコードを作成する
  • 既存のデータセット レコードを読み取る
  • 既存のデータセット レコードを更新する
  • データセット レコードを削除する

主な使用例は、メッセージ レスポンダーへの出力としてツールを追加し、仮想アセットにメッセージが送信されるときにデータに対して実行する操作を設定することです。データ リポジトリを更新する前に、ツールの操作設定を手動で設定したり、レコードの値をスクリプトで変更することができます。

全般設定

  1. レスポンダーを右クリックし、[出力の追加] をクリックします。

  2. ウィザードで受信リクエストのタイプを選択し、[Data Repository CRUD Tool] を選択します。 
  3. [終了] をクリックして、ツールの名前を指定します (オプション)。
  4. [構成] タブで [追加] をクリックし、操作の名前を指定します (オプション)。
  5. [作成]、[読み取り]、[更新]、または [削除] オプションを有効にします。
  6. [データ ソース] メニューから、操作を実行するデータ リポジトリ データ ソースを選択します。
  7. [応答条件] セクションで [追加] をクリックし、操作するデータセット レコードの応答条件列と値を指定します。 データ ソースの応答条件の基準を設定する方法については、「[データ ソース応答条件] タブ」を参照してください。  

  8. 作成読み取り更新削除の各操作の設定を行い、変更を保存します。
  9. 設定を追加することで、同じ実行で複数のフィールドに対して複数の操作を実行することができます。
  10. レスポンダーをデプロイし、クライアントを実行して、接続されたリポジトリで設定した操作を実行します。

作成の設定

[作成] セクションで、新しいレコードを作成する方法を指定します。 

複合型値

[複合] オプションを使用すると、新しい構造と値を手動で入力できます。

  1. [JSON の編集] をクリックして、レコードを指定するためのエディターを開きます。デフォルトでは、レコード構造の JSON テンプレートがあらかじめ入力されています
  2. [入力モード] メニューから [フォーム JSON ビュー] または [リテラル ビュー] を選択します。デフォルトでは、フォーム JSON が選択されています。  
  3. 値を指定して [OK] をクリックします。[テンプレートのリセット] をクリックして、既存の JSON 構造に基づいてフォームをリセットすることもできます。

    フォーム JSON ビューでは、右クリック メニューからの切り取り、コピー、削除、挿入アクションもサポートされています。
     
  4. [OK] をクリックします。[値] フィールドには、JSON のプレビューが表示されます。 
     

スクリプト値

[スクリプト化] を選択し、スクリプトを通じて JSON ペイロードを構築することもできます。

詳細については「スクリプトを使用した拡張機能の基礎」を参照してください。

パラメータライズされた値

ツールがデータ バンク ツールに接続されている場合は、[パラメータライズ] を選択し、ドロップダウン メニューから抽出された値を選択できます (「別のツールから抽出した値でツールをパラメータライズ (Virtualize)」または「別のツールから抽出した値でツールをパラメータライズ (SOAtest)」も参照)。

操作設定

一致する応答条件が見つかった場合に既存のレコードを更新するには、[既存の応答条件一致を置換] オプションを有効にします。

読み取り設定

リクエストまたはレスポンスのデータをコピーまたは抽出して他のアクションに渡すために、読み取りアクションを設定できます。これにより、テストシナリオに基づいてデータ リポジトリ内のレコードを変更できます。 

  1. [読み取り] セクションで [追加] をクリックし、要素セレクターのタイプを選択します。
    1. [レコード] を選択して、読み取りたいレコード値の XPath を指定します。
    2. [キー] を選択して、読み取りたいキー値を含むキー列を指定します。次の例では、リポジトリに catsKeyCol というキー列が含まれています。

      リポジトリには、選択可能なレコードが 2 行含まれています。

      この例では、データソース応答条件セクションにワイルドカードが設定されており、Data Repository CRUD Tool がすべてのレコードから読み取る必要があることを示しています。 実行時に、Data Repository CRUD Tool は値 12 を返すはずです。

  2. 値を格納するカスタム列名を指定します。
  3. このツールを SOAtest クライアントで使用している場合は、書き込み可能なデータソース列から列を選択することもできます。
  4. スイートに変数が含まれている場合は、変数の値に一致する列名を指定できます。
  5.  [OK] をクリックし、適用する追加の操作設定を有効にします。
    • エラーが報告された場合にツールがリポジトリを読み取らないようにするには、[応答条件と一致しない場合に失敗する] を有効にします。このオプションはデフォルトでオンです。
    • 最初の一致後に読み取りを停止するには、[最初の条件マッチだけを返す] を有効にします。このオプションはデフォルトでオンです。
    • [空要素の抽出方法] を有効にし、要素が空の場合に使用する値またはパラメータライズされた値を指定します。
    • [不足要素の抽出方法] を有効にし、要素が不足している場合に使用する値またはパラメータライズされた値を指定します。

更新設定

データ リポジトリのレコードにアクセスするための XPath のようなセレクタを使用して、更新するレコードの場所を指定します。

  1. [追加] をクリックし、更新モードを指定します。以下のモードを指定できます。 
    1. 要素の置換: 文字列などの個々のプリミティブ レコードの値を更新します。
    2. リストの置換: 配列などの非プリミティブ値を更新します。    
    3. リストの末尾に追加: 配列の最後に値を追加します。 
    4. リストの先頭に追加: 配列の先頭に値を追加します。
    5. リストから削除: 配列から値を削除します。
  2. 更新する要素の場所を [場所] フィールドに指定します。
  3. [値] フィールドで、次のいずれかのオプションを使用して新しい値を指定します。
    1. [単純] を選択して固定値を入力します。メニューから特別な [exclude] または [null] 値を選択することもできます。 
    2. [スクリプト] を選択し、[スクリプトの編集] をクリックして、既存のレコードに基づいて新しい値をプログラム的に指定します。 
    3. [パラメータライズ] を選択し、ドロップダウン メニューから抽出された値を選択します。
    4. [複合] を選択し、[JSON の編集] をクリックして、レコードの構造と値の更新を手動で指定します。JSON は、フォーム JSON ビュー (デフォルト) またはリテラル ビューを使用して変更できます。変更を元に戻すには、[テンプレートのリセット] をクリックします。フォーム JSON ビューでは、右クリック メニューからの切り取り、コピー、削除、挿入アクションもサポートされています。
  4. [OK] をクリックします。
  5. [操作設定] セクションで追加の設定を有効にします。
    1. 既存のレコードが見つからない場合に新しいレコードを作成するには、[更新できない場合に作成する] を有効にします。 
    2. エラーが報告された場合にツールがリポジトリを更新しないようにするには、[応答条件および更新のエラー発生時に失敗する] を有効にします。このオプションはデフォルトでオンです。 

削除の設定

削除操作が有効になっている場合、応答条件の設定 (「General Configuration」を参照) に一致するレコードはすべて削除されます。

[応答条件と一致しない場合に失敗する] を有効または無効にできます。 

CRUD のワークフロー例

この例では、CRUD ツール をJSON メッセージ レスポンダーにアタッチし、接続されたデータ リポジトリを操作します。この例では、サンプルの応答に基づいて新しいリポジトリを作成するため、次の手順を実行する場合は、機能するAPIエンドポイントにアクセスする必要があります。

プロジェクトのセットアップ

このフェーズでは、プロジェクトを設定し、レスポンダーを追加し、データ リポジトリを関連付けます。既存のレスポンダーまたは SOAtest クライアントがデータ リポジトリに接続されている場合は、この手順をスキップできます。

  1. プロジェクト フォルダーを右クリックして、新しい .pva ファイルを追加します。
  2. 名前を指定し、[次へ] をクリックします。
  3. この例では、空のプロジェクトを作成します。[空] を選択し、 [終了] をクリックします。
  4. 空のレスポンダー スイート ノードを右クリックし、[新規追加] > [レスポンダー] をクリックします。
  5. この例をプロジェクトに適用する場合は、[JSON メッセージ レスポンダー] または別のレスポンダー タイプを選択し、[終了] をクリックします。
  6. このチュートリアルでは、レスポンダー トラフィックの例から新しいリポジトリを作成します。[レスポンス] タブをクリックし、フォーム入力モードをリテラルに切り替えます。
  7. サンプルのレスポンスをフィールドに貼り付け、入力モードをトラフィックに適したフォーム入力モードに切り替えます。この例では、フォーム JSON モードに切り替えます。
  8. データ ツリーのルート ノードを右クリックし、[データ リポジトリ データ ソースの生成] を選択してリポジトリの作成を開始します。
  9. データ リポジトリの接続設定を行い、[OK] をクリックしてリポジトリを作成します。
  10. この例の新しいリポジトリには、レコードを識別するために必要なキー列がありません。データ リポジトリ ビューで新しいデータセットをクリックします。ビューを開くか更新する必要がある場合があります (「SOAtest/Virtualize の UI」を参照)。
  11. データ リポジトリ エディタ内で右クリックし、[キー列の追加] を選択します。
  12. 名前を指定して [OK] をクリックし、すべての変更を保存します。

少なくとも 1 つのキー列を持つ新しいリポジトリにレスポンダーを接続する必要があります。

Data Repository CRUD Tool の追加と設定

このステップでは、いくつかの操作を実行するために、Data Repository CRUD Tool を追加して設定します。

  1. レスポンダーを右クリックし、[出力の追加] をクリックします。
  2. この例では、リクエストがレスポンダーに送信されたときに Data Repository CRUD Tool を実行するようにします。[受信リクエスト] メニューから [ペイロード] を選択します。
  3. Data Repository CRUD Tool を選択し、 [終了] をクリックします。
  4. Data Repository CRUD Tool のインターフェースで [追加] をクリックし、操作の名前を "read" に変更します。
  5. [読み取り] 操作を選択し、作成したデータ ソースが選択されていることを確認します。 
  6. 応答条件テーブルで [追加] をクリックし、キー列の名前を指定します。 
  7. この例のリポジトリには 1 つの行しかありませんが、ワイルドカードを使ってすべての行を相関させます。
  8. [OK] をクリックし、[読み取り] テーブルで [追加] をクリックします。 
  9. この例では、XPath を指定して、準備するレコードを選択します。[選択された要素] メニューから [レコード] を選択し、[XPath] をクリックします。
  10. 選択を求められたら、読み取る要素を選択します。この例では、レコード全体を読み取るためにルート要素を選択します。
  11. [OK] をクリックして XPath セレクターを閉じ、[OK] をクリックして要素選択の構成の追加を終了します。
  12. 他のすべての読み取りオプションはデフォルト設定のままにし、ツール設定セクションで [追加] をクリックして別の操作を追加します。
  13. この操作の名前を "create" に変更し、[作成] オプションを選択します。
  14. 応答条件テーブルで [追加] をクリックしてキー列を指定し、値として 2 を入力して別の行を作成します。
  15. [OK] をクリックし、[作成] セクションの [値] フィールドから [パラメータライズ] を選択し、ルート要素を指定します。ルート要素がメニューから利用できない場合、変更を保存して Data Repository CRUD Tool エディターを閉じ、再度開く必要がある場合があります。 
  16. これで Data Repository CRUD Tool は、キー列に相関するすべての保存されたレコードを読み取り、ルート要素の下にすべての値を含む別のレコード (行 2) を作成するように構成されました。変更を保存し、エンドポイントを呼び出して .pva を実行します。 

レコードのコピーがリポジトリに作成されます。

リポジトリの拡張

Data Repository CRUD Tool に操作を追加して、既存のレコードを変更または削除できます。

  1. Data Repository CRUD Tool を開き、[追加] をクリックして別の操作を作成します。
  2. 操作の名前を "update" に変更し、[更新] オプションを選択します。
  3. 応答条件テーブルで [追加] をクリックし、[キー列] フィールドに catsKeyCol と入力します。
  4. 固定値 2 を指定し、[OK] をクリックします。これにより、前の手順で作成したレコードに対して実行される操作が指示されます。
  5. [更新] テーブルで [追加] をクリックし、[要素の置換] モードを選択します。
  6. [場所] をクリックし、値を更新する要素を選択します。 
  7. [値] メニューから [単純] を選択し、フィールドの新しい値を指定します。この例では、ルートの下にある最初のアイテム要素が更新されます。同じレベルのすべての項目を更新するには、パス内の 1* ワイルドカードに置き換えます。
  8. [OK] をクリックして変更を保存します。
  9. .pva を呼び出すと、リポジトリ内のレコードが更新されます。

  • No labels