device.touch() 无法在图库应用程序中正常工作



我正在创建一个脚本来测试android 4.0.4的图库应用程序。但是当我向任何相册发送触摸事件时,它会选择相册而不是打开它。以下代码适用于Andorid View客户端:

vc=ViewClient(device,serialNo)
firstAlbum = vc.findViewById('id/no_id/1')
firstAlbum.touch(MonkeyDevice.DOWN_AND_UP)

下面的代码是使用猴子设备触摸事件实现的。

device.touch(x,y,MonkeyDevice.DOWN_AND_UP)

这是MonkeyRunner的局限性,它不能处理非交互式项目。对于此问题,错误已记录在谷歌群组 http://code.google.com/p/android/issues/detail?id=19452

我能够通过制作包含以下命令的脚本来打开相册:

adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 2 0 -1000
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 2 1 -1000
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 2 0 500
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 2 1 500
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 2 0 80
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 2 1 80
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 1 272 1
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 1 272 0
adb shell sendevent /dev/input/event2 0 0 0

运行库活动后,您的 Monkeyrunner 脚本应包含以下行:

try:
    subprocess.Popen(['bash', '-c', '. .Script_name.sh'])     
except:
    raise Exception('Could not open the File: script_name.sh')

相关内容

最新更新