1

テスト目的でADBを使用して自動タッチシーケンスを設定しようとしています.数週間、一時停止、ロングタッチなどを作成する方法に関する情報を探しています. タップとスワイプに次を使用することについて知っています。

input [touchscreen|touchpad] tap <x> <y>
input [touchscreen|touchpad] swipe <x1> <y1> <x2> <y2>

しかし、それらを変更して、前に述べたもの (ポーズ、ロングタッチ、ホールド) を作成できるかどうかはわかりません。

次のようなシーケンスを作成する場合、一般的なスクリプトはどのようになりますか。

タップ、タップ、タップ、タップ、一時停止、ロングタッチ、一時停止、ロングタッチ、一時停止、タップ、タップ、タップ、タップ、一時停止、繰り返し

例として、すべてのコマンドが同じ<x> <y>場所で発生していると仮定します。

どんな助けでも大歓迎です。

4

1 に答える 1

2

これは、Android SDK に付属のツールである monkeyrunner を使用して行うことができます。

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyView
device = MonkeyRunner.waitForConnection(timeout = 60, deviceId = "DEVICE_ID")
# DEVICE_ID is the device's serial number obtained by running adb devices

# to tap 4 times
for i in range(4):
    device.touch(x, y,MonkeyDevice.DOWN_AND_UP)

# to pause
MonkeyRunner.sleep(no_of_seconds)

# to long touch
device.touch(x, y,MonkeyDevice.DOWN)
MonkeyRunner.sleep(no_of_seconds)
# to release the hold
device.touch(x, y,MonkeyDevice.UP)

これらすべてを繰り返しサイクルに含めるには、python while または for ステートメントを使用できます。

monkeyrunnerですAndroid-sdk/tools/monkeyrunner

次にそれを実行する./monkeyrunnerと、インタラクティブなコンソールに入りますJython 2.5.3

または、保存したスクリプトを実行しますmonkeyrunner ../Desktop/level.py

于 2013-06-17T10:15:01.403 に答える