2013-06-12 17 views
1

我試圖設置一個使用ADB進行測試的自動化觸摸序列,我一直在尋找幾個星期瞭解如何創建暫停,長時間觸摸等信息,但沒有運氣。 我知道使用水龍頭,揮筆如下:是否可以使用ADB外殼創建自動觸摸/保持腳本?

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

但我不知道他們是否可以進行修改,以創建我剛纔提到的事(暫停,長觸摸,持有)。

將一般的腳本是什麼樣子,以創建一個序列,如:

水龍頭,水龍頭,水龍頭,自來水,暫停,長按,暫停,長按,暫停,水龍頭,水龍頭,水龍頭,自來水,暫停,重複

例如,假設所有命令都發生在相同的<x> <y>位置。

任何幫助,非常感謝。

回答

2

您可以使用monkeyrunner(一款Android SDK附帶的工具)進行此操作。

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) 

現在,要將所有這些包含在重複的cicle中,可以使用python while或for語句。

monkeyrunnerAndroid-sdk/tools/monkeyrunner

下運行它./monkeyrunner你會monkeyrunner ../Desktop/level.py

+1

進入交互控制檯Jython 2.5.3

或者運行保存的腳本這將有很大的幫助,感謝您的時間。 –

+0

長時間的觸摸無法正常工作。它表現得像觸摸。 – Miten