動的リストを操作する

OSV は、XMLリストとJSONリストの2種類をサポートしています。モジュール属性を追加する前に、作成するリストの種類について検討してください。

  • 動的リスト:複数の値を持つ1つのモジュール属性が入っているリストです。複数のアイテムを持つリストがあり、ペイロードでそのうちのいくつかのみを扱う場合は、動的リストを使用します。例えば、リストに数千のアイテムが含まれており、最初と最後のアイテムのみにモジュール属性を作成する場合などです。

  • 静的リスト:各リストアイテムにモジュール属性が1つずつ入っているリストです。

    複数のアイテムを持つリストがあり、そのすべてをペイロードに表示したい場合は、静的リストを使用します。例えば、リストに数千の項目が含まれており、すべてのモジュール属性を手動で作成したくない場合などです。

デフォルトでは、Toscaは、モジュール属性が初めて追加されたときに動的リストを作成します。

ただし、すでにモジュール属性を持つリストを作成している場合は、引き続き、同じ種類のモジュール属性が追加されます。つまり、次のように処理されるという意味です。

  • すでに動的モジュール属性を追加している場合、 API Engine は動的モジュール属性の追加を続行します。

  • すでに静的モジュール属性を追加している場合は、 API Engine は静的モジュール属性の追加を続行します。

デフォルトのリストタイプは、リストが静的動的かを示す値を持つプロパティ「 ListSupport 」で指定されます。

静的リストサポートから動的リストサポートに切り替える

静的リストを動的リストに変換するには、以下の手順に従ってください。

  1. すべての静的モジュール属性を削除します。

  2. OSV メニューの「追加」ドロップダウンを開き、「動的リストアイテムを持つモジュール属性追加」を選択します。

    または、プロパティ「 ListSupport 」を手動で「静的」から「動的」に変更し、「追加」をクリックすることもできます。

モジュール属性を追加する

これで、モジュール属性を追加して動的リストを作成できるようになりました。

動的リストアイテムを作成する

XMLリストおよびJSONリストに動的モジュール属性を追加すると、 Attribute Assistant は以下のアクションを実行します。

  • IDや名前など、複数回出現する類似のモジュール属性を結合する。

  • 親アイテムと、複数の値を持つ1つのモジュール属性を追加する。

  • 親アイテムの Cardinality1-N に設定する。これにより、任意の数の XTestStepValue を作成できるようになる。

  • レスポンス内の非アクティブノードをデフォルトで削除する。

  • 値「動的」を持つプロパティ「 ListSupport 」を作成する。

  • 親アイテムの ActionMode を「選択」に、リクエスト内のサブエレメントのActionModeを「 WaitOn 」に、レスポンス内のサブエレメントのActionModeを「挿入」に設定する。

動的リストのモジュール

動的リストを扱う

モジュール属性を作成し終えると、動的リストのシナリオを扱えるようになります。

動的リストのシナリオ

リストアイテムに対して新しいXTestStepValueを生成すると、その値はペイロードに自動的に表示されます。これはテストステップのテクニカルビューで確認できます。

これで、静的リストの場合と同じように、モジュール属性を操縦するできるようになりました。例えば、アクションモードの「検証」と「制約」などです。

動的リストでは、インデックスや表記法を設定することはできません。インデックスや表記法を使用するには、静的リストのサポートに切り替えます。