Eggplant Functionalスクリプティングのための上位10のSenseTalkコマンドと関数
Eggplant Functionalは、Turbo Captureセッション、Autosnippet Generation、およびAssisted Scriptingを含む、テストスクリプトとコードスニペットを作成するための複数の方法を提供します。これらの方法はすべて、ビューアウィンドウと対話し、スクリプトエディタでSenseTalkコードを生成するのに役立ちます。
しかし、あなたはまだ自分のコードを見直し、修正する必要があり、おそらく最終的にはより高度なSenseTalkスクリプトを手動で作成する必要があります。そのような状況のために、ここに便利なSenseTalkコマンドと関数のトップ10リストと、それらをいつどこで使用するかについてのいくつかのヒントをまとめました。
1. Clickコマンド
Click
コマンドを使用して、マウスボタンで行うように、テスト対象のシステム(SUT)上の位置をクリックします。通常は、画像参照を使用してクリックする位置を指定します:
Click "Launch_Chrome" // 画像名Launch_Chromeと一致する画面位置でクリックアクションを実行する
また、テキストでクリックする位置を指定することもできます。これは、提供されたテキストを画面で検索するためにOCRを使用します:
Click text:"Eggplant" // OCRが指定されたテキストを見つけた画面位置でクリックアクションを実行する
Click
コマンドは、ボタン、アイコン、リンク、チェックボックス、メニューオプションをクリックするなど、SUTと様々な方法で対話するのに便利です。また、テキストを入力するためのフィールドをクリックするためにも使用できます。また、マウスポインタのフォーカスを設定するために、SUT画面の任意のエリアをクリックすることもできます。
モバイルデバイスのSUTに対してテストを行っている場合、Tap
コマンドを Click
の代わりに使用することを選ぶかもしれません。これは、そのようなデバイス上のユーザー操作を考える際に、タップがより自然な方法だからです。しかし、Click
コマンドと Tap
コマンドは機能的には同じであり、どちらもデスクトップOSでもモバイルOSでも使用できます。
関連記事
- マウスイベントと制御:
DoubleClick
、DoubleTap
、RightClick
などの関連コマンドについて学びます。 - ホットスポット: 画像のホットスポットを移動して、クリックアクションが画像の中心以外の場所、画像の外側を含む場所で行われるようにする方法を学びます。
- 画像プロパティリスト: スクリプティングを改善するために
Click
(および任意の画像検索)で使用できる追加のプロパティについて知ります。
2. TypeTextコマンド
TypeText
コマンドは、キーストロークをSUTに送信するため、あらゆるタイプのキーボード入力を入力するのに便利です。ドキュメントにテキストを入力したり、ウェブページやアプリケーション上のユーザー名とパスワードを自動的に入力する必要がある場合など、フォームフィールドにデータを入力するのに使用できます。
このコマンドを使用して、アプリケーション内で機能するキーボードコマンドを送信することもできます。たとえば、コピーのためのCtrl+Cや貼り付けのためのCtrl+Vなどです。また、アプリケーション間を切り替えるためのAlt+tab(Windows)やCmd+tab(Mac)など、OSのアスペクトを制御するキーボードコマンドを送信することもできます。
リテラルテキストを送信するには、テキストを引用符で囲みます:
TypeText "Hello World!" // テキスト文字列をSUTに送信する
TypeTextキーワードを使用して非文字キーを送信することもできます:
TypeText AltKey,F4 // デスクトップ上のアプリを閉じるために必要なキーストロークをSUTに送信する
TypeText PageDown // ページダウンキーボードアクションを送信してページを下にスクロールする
文字キーと非文字キーの両方を組み合わせることもできます:
TypeText "Line1", Return, "Line2" // テキストドキュメントでは、このコマンドは2つの文字列を別々の行に印刷し、その間にリターン文字を挿入します
:::注意点
TypeText
コマンドは、SUT上で何も起こらないように見えても成功して完了することができます。たとえば、現在のフォーカスエリアがテキスト入力を受け付けない場合に文字を送信すると、キーストロークは送信されますが、通常は何も変わりません。
同様に、Ctrl+Vなどのキーボードコマンドを送信し、クリップボードに何もない場合、コマンドは成功して実行されますが、SUTには影響を与えません。したがって、このコマンドを使用するときには、SUTの状態を知り、画面やアプリケーションの目的の部分にフォーカスを当てることが重要です。
:::
関連
- SUT上での入力:
TypeText
の使用とテキストの操作について、さらに詳しい情報を見る。 - TypeTextキーワード:
TypeText
コマンドで使用できるSenseTalkキーワードのリストを見る。iOSとAndroidのモバイルデバイスに固有のものが多数含まれています。 - キーボードとクリップボードのイベント: キーボード入力の操作に関する追加のコマンドと関数について学ぶ。
3. WaitForコマンド
WaitFor
コマンドは、指定された画像やテキスト文字列(OCR)がSUT上に見つかるか、指定された時間が経過するまで(どちらかが先に発生した場合)スクリプトの実行を停止します。この動作により、次のステップに進む前に要素が存在しているか、SUTが正しい状態にあるかを確認することができます。したがって、WaitFor
コマンドは、スクリプト内のタイミングと検証の両方に役立ちます。
最も基本的な使い方では、WaitFor
コマンドに検索する画像と時間値を提供します。時間値は、その画像が表示されるのをスクリプトが待つ最長時間です。画像が見つかったらすぐにスクリプトが続行され、経過時間にかかわらずスクリプトが続行されます。指定した時間内に画像が見つからない場合は、例外がスローされます。
WaitFor 15, "Launch_Chrome.png" // 画像が見つかったときにすぐに進行するか、15秒以内に見つからない場合は例外をスローする
WaitFor
コマンドは、OCRを利用するためにテキスト参照と共に使用できます。また、一つ以上の画像やテキスト参照を指定することもできます。その場合、どちらかの参照が見つかったときにコマンドが進行します:
Click "Launch_Chrome.png"
waitfor 10, "Launch_AI", (text: "Apps", casesensitive: "yes", searchrectangle:(125,678,305,809)) // Launch_AI画像またはテキスト"Apps"のいずれかが見つかったときに進行するが、10秒以内にどちらも見つからない場合は例外をスローする
すべての画像とOCR検索と同様に、検索を補助するために追加のオプションを追加できます。上記のテキスト参照で示されている casesensitive
と searchrectangle
プロパティがその例です。
:::注意点
WaitFor
は、任意の画像またはテキスト(OCR)の検索コマンドのプロパティとしても使用できます。WaitFor
コマンドと同様に、WaitFor
プロパティは、Eggplant Functionalが指定した画像がSUTに表示されるまでの最大待ち時間です。
例:
Click (ImageName: "Done_button", waitFor: 2 minutes)
:::
重要:
WaitFor コマンドは、より単純な Wait
コマンドとは明確に異なります。Wait
コマンドでは、時間値のみを指定し、ハードウェイト時間を作成します。これは、特にスクリプトの開発やデバッグ中に、いくつかの状況で役立つかもしれません。
最善の方法として、ほとんどの状況で WaitFor
を使用することを試みるべきです。WaitFor
コマンドは通常、より速く実行されるスクリプトにつながります。ただし、指定した画像やテキスト参照が見つからない場合は、例外がスローされることを覚えておいてください。