制約とリストの処理例
ソートされていないリストのモジュール属性を操縦するには、ActionModesの Verify と Constraint を使用します。また、XTestStepでインデックス、表記法または結果数を設定することもできます。
分類されていないリストには次のような種類があります。
-
フラット リスト:リストアイテムの要素の階層レベルが 1 つの単純なリスト
-
入れ子リスト: サブリストや、リストアイテム要素の異なる階層レベルを持つリスト。
この章では、さまざまな種類のリストの制約や処理の例を紹介します。
例1: 明示的な制約の使用
次の例は、ActionModeの Constraint を使用してリストアイテムを特定する方法を示しています。他のリストアイテムの要素は、 ActionModeの Verify を使用して検証します。
目標は、数種類のコーヒーの中から特定のコーヒーを特定することです。この場合は、 ID が 2 のリスト要素を特定します。さらに、コーヒーの名前と説明を検証したいとします。
モジュールの Technical View タブのリスト
モジュール属性にActionModesを設定するには、テストケースを選択します。
Details タブで、リストアイテムを ID で一意に識別します。値 1 を持つモジュール属性 Id にActionMode Constraint を設定します。
リストアイテム要素の値を検証するには、モジュール属性の Name と Description に対してActionMode Verify を使用します。
テストケースの Details タブでActionModeを Verify に設定
テストケースを実行すると、システムは Id が 1 のコーヒーを検索します。
システムはコーヒーを見つけると、 Name が Bicerin であることを検証し、 Description の値を検証します。
スクラッチブック の検索結果
例2: 自動制約の使用
特定のリストアイテム要素に明示的な制約を設定しない場合、 APIエンジンは、要素階層の第1レベルでリストを上から下へ検索します。
リストに複数のレベルがある場合、検索クエリを要素階層の他のレベルに広げることができます。
次の例では、要素階層の他のレベルまで検索を広げる方法を示しています。
目標は、いくつかのオーダーからなる分類されていないリストの中から、特定のオーダーを特定することです。このケースでは、 OrderId で特定のオーダーを検証したいが、リスト内の複数のオーダーに同じ OrderId が振り分けられているとします。
モジュールの Technical View タブのリスト
モジュール属性の OrderId で単純にActionMode Verify を使用してオーダーを特定しようとすると、エラーメッセージが表示されます。
テストケースの Details タブの OrderId でActionModeを Verify に設定
エラーメッセージには、 OrderId 1 のオーダーが複数あることが示されています。
スクラッチブック の検索結果
検索を絞り込むには、リストの第2レベルにリストアイテム要素(例: FuelType)を含める必要があります。
このリストアイテム要素は、必ず検索のリストアイテム FuelType の上のレベルに含めてください。そうしない場合、システムはリストの最初のレベルのみを検索し続けます。
これを行うには、リストアイテムの要素 Vehicle のActionModeを Select から Verify に変更します。
Vehicle と FuelType のActionModeを Verify に設定
これにより、リストへのクエリ方法が変わります。これでシステムは、リストアイテム要素の第1レベルと第2レベルを検索します。
OrderId が 1 、 FuelType が Diesel の Vehicle を含む一意のオーダーを特定することができます。
スクラッチブック の検索結果