0

Android 4.0.4 のギャラリー アプリをテストするスクリプトを作成しています。モンキーランナーを使用。しかし、任意のアルバムにタッチ イベントを送信すると、アルバムを開く代わりにアルバムが選択されます。以下のコードは 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)
4

1 に答える 1

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')
于 2012-12-13T13:34:54.073 に答える