TricentisVision AIを使用してコントロールを操縦する
Vision AIでスキャンしたコントロールは、Tosca のコントロールと同様に操縦することができます。
この章では、以下の情報を提供します。
|
Mobile Engine 3.0 がサポートまたは認識しない場合、モバイルアプリケーションでコントロールを操縦するためにVision AIを使用できます。詳細情報については、このKnowledge Baseの記事をご参照ください。 |
スクロール可能なコントロールのための追加パラメータ
これらのステアリングパラメータを使用して、長いリスト、ツリー、テーブルのタイムアウトを増やすことができます。Tosca TBox 同期のタイムアウトも調整する必要がある場合があります。
以下の表に、スクロール可能なコントロールのステアリングパラメータを示します。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
スクロール速度 |
Vision AIのスクロール速度を指定します。デフォルト値を大きくするとスクロールが速くなります (例:2.0) 。デフォルト値を小さくするとスクロールが遅くなります(例:0.5)。 |
1.0 |
|
ScrollTimeout |
Vision AIがコントロールを探すために上下にスクロールする時間を指定します。 秒単位で入力してください。 |
10 |
|
ScrollDownTimeout |
下方向にスクロールする際の ScrollTimeout を上書きします。 |
|
|
ScrollUpTimeout |
上方向にスクロールする際の ScrollTimeout を上書きします。 |
|
テーブルステアリングの追加パラメータ
テーブルを自動化したい場合は、Vision AIがテーブルの内容を検出する方法を指定する追加パラメータを変更することができます。XScan でこれらのパラメータを編集する方法については、 see chapter "テーブルの検出および操作パラメータを変更する" を参照してください。
Method パラメータは、Vision AIがテーブルセルをスクリーン上のピクセルと区別する方法を定義します。このパラメータには以下の値を使用できます。
-
Gridlines - Vision AIは、テーブルの境界内の長い縦線と横線を検索します。このメソッドは、行のテキストの一番下を可能な行として認識する可能性があり、その結果、余分な空の行が検出されます。この場合、 MergeEmpty パラメータを使用して余分な空の行を取り除くことができます。
-
Words - Vision AIは、グリッドラインではなく、周囲のピクセルと異なるピクセルを検索します。この方法では、単語間の垂直方向と水平方向のギャップをセルの境界として使用します。
-
CountrolBounds - Vision AIは、各コントロールとテキストブロックの境界を検索します。この方法では、これらのコントロール間の垂直方向と水平方向のギャップをセルの境界として使用します。
-
Auto - Vision AI は、 Gridlines と Words 方法の組み合わせを使用します。
ColumnThreshold と RowThreshold を操縦する
ColumnThreshold パラメータと RowThreshold パラメータは、Vision AIが行や列を選択するときの感度を制御します。これらのパラメータの値は 0 から 100 の範囲です。これらは、Vision AIが、操縦する行または列を検出しなければならないパーセンテージのしきい値を指定します。値が小さいほど行や列の使用量が多く、値が大きいほど行や列の使用量が少ないことを意味します。
デフォルト値の Auto は、 Method パラメータに基づいて最適な値を選択します。
-
Gridlines 方法では、 30 です。
-
Words 方法では、 15 です。
-
ControlBounds 方法では、 1 です。
Vision AIは余分な空の行や列を検出するかもしれません。Words 方法や ControlBounds 方法を使用すると、このようなことが頻繁に起こります。
MergeEmpty パラメータは、これらの空の行や列がテーブルの他のコンテンツにマージされるタイミングを指定します。
-
このパラメータを「 Yes 」に設定するとマージがオンになり、「 No 」に設定するとオフになります。
-
Gridlines 方法を使用するときにマージをオフにする場合は、このパラメータを「 Auto 」に設定します。それ以外のメソッドでは、マージをオンにします。
HeaderColumn と HeaderRow を操縦する
これら2つのパラメータは、標準的なテーブルと同じように機能します。ヘッダーに使用する行番号や列番号を選択できます。
これらの値を設定するには、内容プレビューでセルをクリックします。
正確なヘッダー行番号は検出場所によって異なることがあります。この場合、 HeaderRow パラメータに頼ることはできません。代わりに、 HeadersContain パラメータを、テーブルのヘッダー行からのテキスト値に設定します。Vision AIは、このテキスト値を含む行をテーブルから検索し、ヘッダー行として使用します。
このパラメータは標準的なテーブルと同じように機能します。これは、 $lastContentRow および $firstEmptyRow セレクタの列を指定します。デフォルト値は * で、すべての列が使用されることを意味します。
IgnoreInvisibleTableContent を操縦する
このパラメータはVision AIテーブルには影響しません。
ColumnMinGap と RowMinGap を操縦する
これらのパラメータは、列と行の間の最小ピクセル数を指定します。デフォルト値は 0 です。
これらのパラメータの値を少しずつ大きくして、間違って分割された列や行の数を減らしてください。
タイピングのための追加パラメータ
Vision AIでコントロールをスキャンした後、タイピングメカニズムを制御する操縦パラメータを追加することができます。これらのステアリングパラメータは、 ControlType プロパティが Input または Dropdown のコントロールにのみ適用されます。
入力制御のステアリングパラメータを追加する
以下の表は、 ControlType プロパティが Input に設定されたコントロールで使用可能なステアリングパラメータの一覧です。これらのパラメータを指定しない場合、タイピング機構はデフォルト値に従って動作します。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
キー遅延 |
Vision AIがキーアップまたはキーダウンの各操作後に待機する時間を指定します。 ミリ秒単位で入力してください。 |
10 |
|
HoldDelay |
Vision AIがキーを選択して保持する時間を指定します。 ミリ秒単位で入力してください。 |
0 |
|
セレクトテキストキー |
テストステップの値で指定した値を入力する前に、Vision AIが選択するキーシーケンスを指定します。 デフォルトでは、Vision AIは、入力ボックスの既存の内容を、テストステップの値で指定した新しい値で置き換えます。 Tricentis Toscaが動的式として認識しないように、必ず値を二重引用符で入力してください。 |
"{Home-Ctrl-Home-Shift-End}" |
|
DeleteTextKeys |
テストステップの値が空の場合にVision AIが選択するキーシーケンスを指定します。 デフォルトでは、テストステップの値が空の場合、Vision AIは入力ボックスの既存の内容を削除します。 Tricentis Toscaが動的式として認識しないように、必ず値を二重引用符で入力してください。 |
"{Delete}" |
|
入力値を確認するために、Vision AIが入力すべきキーシーケンスを指定してください。動的式としてTricentis Toscaに認識されないようにするため、二重引用符でキーシーケンスを確定します。 デフォルトは空の文字列であり、これはVision AIが特別なキーを押さないことを意味します。 |
"" |
|
この例では、 Ctrl と Aのキーシーケンスを使用して、入力ボックスの内容を選択したいと思います。これを行うには、このコントロールのプロパティに SelectTextKeys ステアリングパラメータを追加し、その値を "{Ctrl-A}" に設定します。
SelextTextKeys ステアリングパラメータ |
ドロップダウンコントロールのステアリングパラメータを追加する
以下の表は、 ControlType プロパティが Dropdown に設定されたコントロールで使用可能なステアリングパラメータの一覧です。これらのパラメータを指定しない場合、タイピング機構はデフォルト値に従って動作します。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
キー遅延 |
Vision AIがキーアップまたはキーダウンの各操作後に待機する時間を指定します。 ミリ秒単位で入力してください。 |
10 |
|
HoldDelay |
Vision AIがキーを選択して保持する時間を指定します。 ミリ秒単位で入力してください。 |
0 |
|
ConfirmItemKeys |
Vision AIが項目を確定してドロップダウンを閉じるために選択するキーシーケンスを指定します。 デフォルトでは、Vision AIは、タブを選択して項目を確定し、ドロップダウンを閉じます。 動的式としてTricentis Toscaに認識されないように、値は必ず二重引用符で囲んで入力してください。 |
"{Tab}" |
|
この例では、アプリケーションは、ドロップダウンから項目を選択するために、タブの代わりに Enter を押す必要があります。デフォルトの動作を変更するには、このコントロールのプロパティに ConfirmItemKeys ステアリングパラメータを追加し、その値を "{Enter}" に設定します。
ConfirmItemKeys ステアリングパラメータ |
キャプションパラメータのための特別な値 <Foreground>
モジュールのキャプションパラメータを編集することで、最上位ウィンドウを操縦することができます。これにより、例えばフォアグラウンドにあるポップアップウィンドウまたはキャプションのないウィンドウを操縦することができます。
これを行うには、以下の手順に従ってください。
-
XScan を使用して操縦する最上位のウィンドウをスキャンする
-
新しいモジュールのプロパティペインを開いてください。
-
キャプションパラメータの値を <Foreground> に置き換えてください。
このモジュールをテストケースで使用すると、Vision AIはフォアグラウンドにあるウィンドウを操作します。
<Foreground> 値のキャプションパラメータ
ウィンドウの識別には、オプションで ClassName および ProcessName の遷移パラメータを使用することができます。これらのパラメータは、ウィンドウのキャプションが空の場合に選択されます。キャプションパラメータに <Foreground> 値を使用する場合、Vision AIはこれらの値を組み合わせ、指定された ClassName または ProcessName に一致する最前面のウィンドウを選択します。
Vision AIによるステアリングテーブルの制限
現在、Vision AI はステアリングテーブルの以下のオプションとプロパティをサポートしていません。
-
テーブル内でのテーブルの水平スクロール。Vision AIで指定した行やセルが見つからない場合、テーブルを縦方向にのみスクロールします。横スクロールには対応していません。
-
コンテキストメニューの コントロールCreate Embedded オプションを使用して、セル内の埋め込みコントロールを定義します。 <Control-Type>埋め込みコントロールを使用する場合は、 XScan で別途スキャンします。モジュールセクションで、このコントロールをModuleAttribute セルにドラッグします。 -
列優先ステアリングは行ラベルをサポートしません。つまり、テーブル制御の下でセカンダリステアリングを使用する場合、行ラベルをセル名として使用することはできません。例えば、列を選択してからセルを選択した場合、 1$ 、 2$ 、 $last のような数値インデックスだけがサポートされます。
-
内容プレビューペインにマージされたセルは表示されません。マージされたセルのグリッド線が表示されます。
これらの制限を克服するには、Tricentis ToscaのTestSteps間で VisionScript ステートメントを直接挿入することができます。そのためには、 VisionScriptの実行モジュールを使用してください。
ツリー操縦のパラメータ
ツリーを操縦したい場合は、操縦パラメータを変更して、どのように操縦するかを指定できます。
デフォルトの操縦方法は標準的な1行構文で、各ツリーノードの名前は -> で区切られています。例: Level1->Level2->Level3
複数行構文もサポートされていますが、各レベルの ModuleAttributes を手動で作成する必要があります。ModuleAttributeで、以下のパラメータに以下の値を設定します。
-
BusinessType : VisionAIControl
-
SpecialIcon : TreeNode
-
BusinessAssociation : Descendants
-
Engine : Vision AI
-
ExplicitName : TRUE
-
ControlType : Node
下の表は、ツリーのステアリングパラメータです。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
深度メソッド |
ツリーで異なるレベルを識別する方法を指定します。Text はテキストの左端を使用し、 Pixels は左端の非背景ピクセル(例:アイコンまたはテキストの左端、どちらか先)を使用します。ツリーによっては、アイコンの展開の有無によって、テキストのインデントが異なります。 |
テキスト |
|
最小インデント |
ツリーノードが子としてカウントされるために、親ノードからインデントされるべきピクセル数を指定します。 |
4 |
|
エキスパンドメソッド |
ツリーノードの展開方法を指定します。可能な値: Click 、 DoubleClick 、 IconClickまた、インスタンス {Right} のように、波括弧でキーストロークを続けることもできます。例えば "Click{Right}" のように、波括弧を引用する必要があることに注意してください。 |
ダブルクリック |
|
セレクトメソッド |
最終的なツリーノードの選択方法を指定します。ExpandMethod に似ています。 |
クリック |
制限事項
-
単一行ステアリングでは、ツリーは拡張可能なノードを持つリストとみなされます。各レベルが厳密に前のレベルより下かどうかチェックすることはできません。これは、現在のスクロールとOCR境界検出の限界によるものです。
-
マルチラインステアリングでは、すべてのノードが一度に画面に表示される必要があります。ステアリング中に親ノードが視界の外にスクロールされると、ステアリングは失敗します。
メニュー操縦のパラメータ
ファイル->;新規 -& gt;メールメッセージのインスタンスように、単一行構文を使用してMenusを操縦することができます。
以下の表に、メニューのステアリングパラメータを示します。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
ファーストクリック |
最初の項目をクリックするか、マウスカーソルを置くかを指定します。 |
TRUE |
|
中間クリック |
後続の項目をクリックするか、マウスカーソルを置くかを指定します。唯一の例外は最後の項目です。この項目は常にクリックされるからです。 |
TRUE |
|
セパレータしきい値 |
制御の高さをパーセントで指定します。 この閾値を超える長さは、例えばメニューバーの高さの半分を超える長さの縦線が検出された場合、これはメニュー項目の切れ目とみなされます。メニュー項目がセパレータをまたぐことはありません。このステアリングパラメータは、近い単語を1つのメニュー項目に統合する場合に便利ですが、単語と単語の間に縦線が残ってしまいます。 |
50 |
TabBar操縦のパラメータ
TabBarを操縦するには、クリックしたいタブの名前を使用してください。制限事項のひとつは、現在選択されているタブが識別されず、確認できないことです。
以下の表は、タブバーのステアリングパラメータの一覧です。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
セパレータしきい値 |
制御の高さをパーセントで指定します。 このしきい値を超える長さの縦線が検出された場合(例えばTabBarの高さの半分以上)、これはタブの切れ目とみなされます。タブがセパレーターを越えることはありません。このステアリングパラメータは、近い単語が1つのアイテムにマージされるが、それらの間に縦線が残っている場合に便利です。 |
50 |
Toolbar操縦のパラメータ
Toolbarを操縦するには、クリックしたい項目のテキストを指定してください。
以下の表は、ツールバーのステアリングパラメータの一覧です。
|
ステアリングパラメータ |
説明 |
デフォルト値 |
|---|---|---|
|
セパレータしきい値 |
制御の高さをパーセントで指定します。 この閾値を超える長さ、例えばツールバーの高さの半分を超える長さの縦線が検出された場合、これはツールバー項目の切れ目とみなされます。アイテムがセパレーターをまたぐことはありません。このステアリングパラメータは、近い単語が1つのアイテムにマージされるが、それらの間に縦線が残っている場合に便利です。 |
50 |