ActionMode
ActionModeは、テストオブジェクトの制御に使用します。これらは制御を操作するために、Valueフィールドの値を XTestStepValues 適用する方法を定義します。Value 列に値を指定する方法の詳細は、 chapter "値を 指定する" をご参照ください。
XTestStepValueに利用可能なActionModesは、参照先XModuleの InterfaceType タブに依存します。
ActionModeは、コントロールに対して読み取り動作または入力動作を実行します。読み取り動作は、コントロールに対して定義したプロパティを読み取ります。入力動作は、テスト実行中に定義されたプロパティを変更します。
入力動作のActionMode:
-
Input
-
Insert
-
BufferとXBuffer
-
Constraint
-
Verify
-
WaitOn
-
Select
配列操作のActionMode:
-
Delete
-
Modify
ActionModeバッファ
入力値が1回以上必要な場合、ActionModeバッファを使用して入力値をバッファリングすることができます。
値またはコントロールのプロパティは、グローバル変数バッファに保存されます。これらは、テスト実行中のどの時点でも読み取ることができます。
バッファはバッファビューアで随時表示、作成、編集することができます。
|
この例では、バッファ名の値に Automobile Type が設定されています。Make 制御の値がアプリケーションから取得され、 Settings ダイアログにバッファ Automobile Type のバッファ値としてコピーされます。
バッファの値を設定する |
制御の状態にバッファを使用することもできます。たとえば、ランタイムで制御を利用可能かどうかを確認することができます。
|
この例では、テストを実行する時に Restart ボタンが有効かどうかを確認します。これを行うには、値 Test01=.enabled を使用します。 Toscaは、 Test01 をバッファ名として使用し、バッファの値に検証結果を表示します。この例の検証結果は False です。
コントロールのプロパティをBufferにコピー |
以前にバッファリングした値を抽出し、テスト実行中に任意の箇所で使用できます。
バッファの値は、次の構文を使用して Value 列から読み取られます。
|
構文: |
{B[<Buffername>]} |
|
自動補完機能でバッファ変数を入力することができます。以前に保存した任意の値をドロップダウンリストから選択できます。 |
|
この例では、 automobile という名前で保存されている値がテスト実行中にバッファから抽出されます。
バッファ値の抽出 |
Toscaはテーブルの行または列をバッファリングする際に、その情報を配列に整理します。
バッファリングされた配列のすべての値を使用するには、 TBox Iterate Array モジュールを使用してこれらを順次送信します。
配列の要素を追加、削除、変更、または確認するには、 TBox Array Operationモジュールを使用します。
バッファリングされた配列から特定の値のみを使用するには、以下の構文でValueを入力します。
|
構文: |
{B[<Buffername>][<Index>]} |
|
この例では、ショッピングカートに入っている1つの商品の価格が、支払確認の概要と一致するかどうかを検証します。
バッファリング配列から1つの要素を抽出 |
動的に比較 - XBuffer
XBuffer を使用すると、文字列の動的値を読み取り、ActionModeに Verify を使用して読み取った値をバッファリングできます。文字列内には次の構文を使用します。
|
構文: |
{XB[<Buffername>]} |
XBufferを使用すると、このような動的値を確認できるので、特にランタイム時に生成されるIDなどの値の確認に特に便利です。この検証の結果、バッファ値と検証によって生成される値の両方が得られます。
|
この例でToscaは、動的文字列が含まれている文字列を分析します。値を検証し、 yourID バッファに保存します。
動的に比較 |
|
「 Transfer order 」と「 has been created 」間の領域は、検証から除外されます。 この領域は、 OrderID というバッファ名でバッファリングされます。
動的に比較 |
ActionModeのConstraint
ActionModeに Constraint を使用すると、上位ノードの検索を制限できます。単一の要素がレンダリングされるまで検索を制限できます。
複数の要素が見つかった場合、上位ノードに #<n> を入力すると、結果の要素数を1つのみに制限することも可能です。
用途例として、ビジネスベースのテーブル制御や特定のXMLノードの選択があります。
|
次の例は、簡単な個人データを含むテーブルを使用します。
個人データを含むテーブル このテーブルで属性 First name に Julia という値を含み、属性 Last name に Jones という値を含む行を検索します。エンジンは、これらの値を含む行の属性 Date of birth の値が 9/26/1977 になっているかどうか確認します。
ActionModeのConstraint |
|
次の例は、上記の例の簡単な個人データを含むテーブルを使用します。 このテーブルで属性 First name の値が Peter 、属性 Last name の値が Smith となっている2行目を検索します。選択する行に #2 という値を入力します。エンジンは、この行で属性 Date of birth の値が 1/3/1901 かどうかを検証します。
値の検証 |
ActionModeのInput
ActionModeに Input を使用すると、値をテストオブジェクトに転送できます。これにはたとえば、 Editbox への値の入力、ボタンのクリック、 ComboBox の選択などが含まれます。
リンクされているXTestStepValueのModuleAttributeでValueRangeが指定されていると、XTestStepValueのドロップダウンメニューの選択肢にこれらの値が表示されます。この他に、ユーザーが指定する値も入力できます。
Shift + Enter キーを同時に押して強制改行すると、テキストを複数行にわたって入力できます。ドロップダウンメニューに複数行の値を入力できるように、ドロップダウンメニューを編集ボックスに変換する必要があります。このためには、選択したXTestStepValue上で Ctrl + Shift + T キーを同時に押します。
|
この例では、Tosca Sample Applicationの入力フィールドに値が入力されています。 Next ボタン上でクリック操作を行います。
InputをActionModeで使用する方法を示す例 |
ActionModeのInsert
ActionModeに Insert を使用すると、非視覚的、非UIのインターフェース環境でオブジェクトを作成できます。
|
この例では、ActionModeに Insert を使用して、新しいエントリ My new product をXMLファイル Products_new に書き込みます。
新規エントリをXMLに追加 - ActionModeのInsert |
ActionModeのSelect
ActionModeに Select を使用すると、特定のノードを選択できます。必要なノードには固有の名前が必要です。
|
この例では、テーブルの行 Yearly Amount が選択されています。システムは、この行の最終セルに 1.207,56 という値が含まれているかどうかを確認します。
例: Yearly Amountの選択と検証 |
ActionModeのVerify
ActionModeに Verify を使用すると、テストオブジェクトの値と制御のプロパティを確認できます。制御のプロパティは、XTestStepValueの Value 列で確認できます。
このActionModeを実行するには、ターゲットノードを明確に定義する必要があります。制御プロパティが指定されていない場合は、代わりに制御のデフォルトプロパティ(see chapter "コントロールプロパティの使用")が確認されます。
定義した値は大文字と小文字が区別されることに注意してください。入力した文字列が適切に検証されます。正規表現を使用できます。
|
この例では、Tosca HTMLサンプルアプリケーションで Truck over 1t (payload) の値を Type of Vehicle ドロップダウンメニューから選択できるかどうかを確認します。
値の確認 |
まだお読みでなければ、 "ベストプラクティス | TestCases | 検証" を読んで、テストケースにとって検証が非常に重要な理由をご確認ください。
ActionModeのWaitOn
ActionModeに WaitOn を使用すると、特定のプロパティが指定した値になるまでTestCaseの実行を中断します。システムは、制御の値と Value 列に指定した値が一致するまで、または制御が指定したプロパティを採用するまで待機します。待機時間は、 WaitOn中の同期タイムアウトの設定によって定義されます。
テストの待機時間に関する詳細は、 "ベストプラクティス|テストケース|待ち時間" をご確認ください。
|
この例では、 Restart ボタンは進捗バーが100%に達したときにのみアクティブになります。
プログレスバー この例では、システムは制御 Progressbar の値が100%に到達するまで待機します。値が100%に到達するとすぐに Restart ボタンをクリックします。
ActionModeのWaitOn |
ActionModeのDelete
このActionModeは、 TBox Array Operation モジュールから作成したテストにのみ適用されます。これを使用すると、バッファリングされた配列から要素を削除することができます。
|
この例は、検索を使用して要素を削除する方法を示しています。お客様のテストケースは、以下のアクションを実行します。
配列から要素を削除します。 |
ActionModeのModify
このActionModeは、 TBox Array Operation モジュールから作成したテストにのみ適用されます。これを使用すると、バッファリングされた配列の要素を上書きすることができます。
|
この例は、配列の要素を修正する方法を示しています。お客様のテストケースは、以下のアクションを実行します。
要素を修正する |