マウスイベントとコントロール
このセクションでは、Eggplant Functionalのマウスイベントを実行したり、SUT上のマウスカーソルに関する情報を返したりするコマンドと関数について説明します。これらのコマンドと関数の多くは、Click
、DoubleClick
、Drag
、Drop
、DragandDrop
、MouseButtonDown
、そして MouseLocation()
など、モバイルSUTだけでなくデスクトップSUTに対しても動作し、モバイルとデスクトップの両方のプラットフォームを自動化するスクリプトの作成に役立ちます。SenseTalkには、モバイルコマンドと関数のセットも含まれており、その一部(Tap
、DoubleTap
、Press
など)はデスクトップSUTと互換性があります。
Click
コマンド
このコード定義では、画像ベースのスクリプティングのための Click
コマンドの使用について説明しています。このコマンドをWebDriver接続に使用する方法については、WebDriver Mouse and Keyboard Events: Click Commandをご覧ください。
動作: 最初に見つかった場所(画像)のホットスポットか、または中央(OCR)にSUTのマウスをクリックします。もし一つ以上の画像またはテキスト文字列が渡された場合、Eggplant Functionalはそれらがリストされた順序で画像を探します。
Tap
と Click
コマンドは同じイベントを実行し、デスクトップとモバイルの両方のSUTに対して使用することができます。
パラメータ: 一つ以上の 画像参照 または テキストプロパティ (OCR用), または単一の座標位置。
例:
repeat with each item of ["Option1","Option2","Option3"] //画像のリストを通じて繰り返す
click it//リストの現在の画像のホットスポットをクリックする
end repeat
例:
click{text:"Tweet",waitFor:10,searchRectangle:["AnchorLeft","AnchorRight"]} //指定されたsearchRectangleで約10秒間待ってから、"Tweet"という文字列の中央をクリックします
例:
このようなコードを使用して、ファイルエクスプローラ/ファインダー内のアイテムのセクションを選択し、その後でファイルをコピーすることができます
Click "FirstEntry" //画像 "FirstEntry" のホットスポットをクリックします
KeyDown ShiftKey //Shiftキーを押し続けます
Click "LastEntry" //画像 "LastEntry" のホットスポットをクリックします
KeyUp ShiftKey //Shiftキーを離します
RightClick //前のマウスイベントと同じ位置で右クリックします
Click "CopyMenuItem"
例:
時々、クリックする前に画像を2回検索すると、コンテンツが読み込まれるときにシフトするUIを自動化するのに役立ちます
WaitFor 10, "NewTweet" //画像 NewTweetが表示されるのを待ちます
Click{Image:"NewTweet",HotSpot:[80,0]} //NewTweetを再度検索し、画像の左上隅から右に80ピクセルの位置にクリックを送ります。HotSpot画像プロパティを含めるときは、"image:"プロパティを追加することに注意してください
例:
if ImageFound(text:"Cancel") then click FoundImageLocation() //"Cancel"という文字列が見 つかった場合、その文字列の中心の位置をクリックします
例:
Click the RemoteScreenSize*.5 //画面の中心点をクリックします
例:
//このようなコードを使用して、トリプルクリックイベントを実行します
on TripleClick imageToClick //パラメータ "imageToClick" 付きで "TripleClick" というカスタムコマンドハンドラを宣言します
//次の3行は、Eggplant Functionalコマンド間のタイミングを変更し、3つのクリックを連続で送信できるようにします
put the RemoteWorkInterval into defaultRWI //現在のリモート作業間隔の値を保存し、後で元に戻すことができるようにします
set the RemoteWorkInterval to .01 //リモート作業間隔を0.01秒に設定し、イベントをSUTに大幅に高速で送信できるようにします
//これらの3行は、指定されたリモート作業間隔で、画像を1回クリックし、その後、同じ位置を2回クリックします
Click imagetoClick //パラメータとして渡された画像のホットスポット位置にクリックを送信します
//2回のクリックは、前のクリックと同じ位置で行います
Click
Click
set the RemoteWorkInterval to defaultRWI //リモート作業間隔を元の値に戻します
end TripleClick
DoubleClick
コマンド
このコード定義は、画像ベースのスクリプティングのための DoubleClick
コマンドの使用方法を説明します。WebDriver接続のためのこのコマンドの使用についての情報は、WebDriver Mouse and Keyboard Events: DoubleClick Commandを参照してください。
振る舞い: 最初に見つかった位置のホットスポット(画像)または中央(OCR)でSUTマウスをダブルクリックします。複数の画像またはテキスト文字列が渡された場合、Eggplant Functionalは、リストされた順序で画像を検索します。
DoubleTap
と DoubleClick
コマンドは同じイベントを実行し、デスクトップとモバイルのSUTの両方に対して使用することができます。
パラメータ: 1つ以上の Image References や Text Properties (for OCR)、または単一の座標位置 。
例:
//クリップボードを使用してSUTから値を取得するためにこのようなコードを使用します
doubleclick "ConfirmationNumber" //SUT上のテキストをハイライトするために画像 ConfirmationNumberのホットスポットをダブルクリックtypetext controlKey, "c" //キーストロークを使用してSUTでコピーイベントを実行し、ハイライトされたテキストをSUTのクリップボードに入れます
typetext controlKey, "c" //ハイライトされたテキストをSUTクリップボードに入れるために、キーストロークを使用してSUTでコピーイベントを実行します。
put the remoteClipboard into ConfNum //SUTのクリップボードの内容を取得し、それを変数に格納します
例:
//この例は上のTripleClickの例と似ていますが、DoubleClickを使用し、異なる構文でアプローチを少し変えています
to handle TripleClick // "TripleClick" という名前のカスタムコマンドハンドラを宣言します
put the MouseDoubleClickDelay into clickTime //MouseDoubleClickDelayを変数clickTimeに保存し、後で使用します
set the RemoteWorkInterval to clickTime //イベントがSUTに送信される間隔であるRemoteWorkIntervalを、clickTimeに保存された値に設定します
DoubleClick param(1) //TripleClickハンドラに渡された最初のパラメータ値(画像名、座標ペアなど)をダブルクリックします
Click//前のDoubleClickと同じ位置をクリックします
set the RemoteWorkInterval to .7 //RemoteWorkIntervalを0.7秒に設定します
end TripleClick
RightClick
コマンド
このコード定義は、画像ベースのスクリプティングのための RightClick
コマンドの使用方法を説明します。WebDriver接続のためのこのコマンドの使用についての情報は、WebDriver Mouse and Keyboard Events: RightClick Commandを参照してください。
振る舞い: 最初に見つかった場所のホットスポット(画像)または中央(OCR)でSUTのマウスを右クリックします。1つ以上の画像やテキスト文字列が渡された場合、Eggplant Functionalは、リストされた順序で画像を検索します。
パラメータ: 1つ以上のImage ReferencesまたはText Properties(OCR用)、または単一の座標位置。
例:
RightClick {imageName: "Login", searchType: "smooth"} //searchType:smoothの画像プロパティを使用して、"Login"の画像のホットスポットを右クリックします。画像プロパティを含める際には "imageName:" プロパティを追加することに注意してください。
例:
rightClick text:"Firefox" //"Firefox"という文字列の中心で右クリックします
moveTo text:"Send to" //"Send to"という文字列の中心にマウスカーソルを移動します
例:
//このようなコードを使用して、複数のアイテム(File Explorer/Finder内のファイルなど)を選択し、そのファイルをコピーすることができます
Click "FirstEntry" //"FirstEntry"の画像のホットスポットをクリックします
KeyDown ControlKey //コントロールキーを押し続けます
Click "LastEntry" //"LastEntry"の画像のホットスポットをクリックします
KeyUp AllKeys //コントロールキーを含むすべてのキーをリリースします
RightClick //前のマウスイベントと同じ位置で右クリックします
Click "CopyMenuItem"