モバイルコントロールとタッチイベント
Eggplant Functionalは、システムアンダーテスト(SUT)としてモバイルデバイスを使用する場合に特に適した多数のコマンドと関数を提供します。
ADBCallRemote
関数
この関数はAndroidデバイス専用で、Android Gatewayが必要です。
この関数はSauce Labsではサポートされていません。
振る舞い: この関数はADBコールを利用可能なAndroidデバイスに実行し、ADBコマンドから受け取った出力を返します。 ADBCallRemote
関数はAndroid Gatewayを介した接続を必要とし、Eggplantマシンにリモートで接続されたAndroidデバイスと連携できます。
パラメータ: Android Debug Bridge(ADB)コマンドラインツールへの任意の呼び出し、push
、pull
、shell
、logcat
など、関連パラメータを伴うか伴わないかで使用できます。
例:
put ADBCallRemote("devices") into ListOfDevices -- adb devicesコマンドの出力を変数に格納します。
例:
put ADBCallRemote("shell input keyevent 82") -- デバイスにkeyevent 82を送信します。
例:
put the second word of the connectionInfo's serverID into Device -- adbのシリアル番号を変数に格納します
delete "(" from Device -- adbcall()関数で使用できるようにシリアル番号から括弧を削除します
delete ")" from Device
put ADBCallRemote (merge ("-s [[Device]] logcat -b events")) -- merge関数を使用してシリアル番号をadbコマンド文字列に置き換えます
ADBCall
関数は、Eggplant Functional 20.2からADBCallRemote
関数の代替として非推奨となりました。
Copy File
コマンド
このコマンドはSauce Labsではサポートされていません。
振る舞い: このコマンドを使用すると、ローカルマシンからSUTへのファイル、またはSUTからローカルマシンへのファイルをコピーできます。パスの前に SUT:
を付けてSUTを示します。このコマンドを使用してS示すことに注意してください。SUTの一つの場所から別の場所、または別のSUTへのファイルをコピーするためにはこのコマンドを使用できません。Copy File
は単一のファイルのみに対応しており、フォルダは対応していません。
iOS Gatewayでは、このコマンドはデバイスではなく、ゲートウェイにファイルをコピーします。
パラメータ: ソースファイルパスと宛先ファイルパス。
例:
copy file "/local/path/to/file" to "SUT:/remote/path/to/file" // ファイルをSUTに送信します
例:
copy file "SUT:/remote/requested/file" to "/local/path/to/receive/file" // SUTからファイルを取得します
DoubleTap
コマンド
振る舞い: このコマンドは、現在の場所またはパラメータで指定された場所でダブルタップを実行します。このコマンドは、モバイルデバイス向けに提供されたDoubleClick commandと同等です。一般的に、モバイルデバイスでは、ダブルタップ操作 によりアプリがズームします。
例:
DoubleTap the remotescreensize/2-- 画面の中央にdoubletapコマンドを送信します
例:
WaitFor5, "FullsizeMap"
DoubleTap"BuildingIcon"-- BuildingIconイメージの位置にdoubletapコマンドを送信します
WaitFor5, "ZoomedMap"
パラメータ: オプションとして座標、画像、またはテキスト(OCR)。
振る舞い: このコマンドは、現在の場所またはパラメータで指定された場所でダブルタップを実行します。このコマンドは、DoubleClick commandと同等ですが、モバイルデバイス向けに提供されています。一般的に、モバイルデバイスではダブルタップ操作によりアプリがズームします。
DoubleTap
コマンドにおけるタップイベント間のタイミングは、MouseDoubleClickDelay
プロパティによって制御されます。MouseDoubleClickDelay
を大幅に延長すると、DoubleTap
は2つの別々のタップのように振る舞います:
set the mousedoubleclickdelay to 1-- タップイベント間の遅延を1秒に設定
doubletap "MapMarker"-- MapMarkerイメージを1回タップし、1秒待ってから再度MapMarkerイメージをタップします