device.touch()无法正常使用Gallery应用程序

时间:2012-12-01 12:57:48

标签: android

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

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

下面的代码是使用monkeydevice touch事件实现的。

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

1 个答案:

答案 0 :(得分:0)

这是MonkeyRunner的限制,它无法处理非交互式项目。对于此问题,已在Google论坛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')