Имитация касания, удержания, перемещения в Android отладочный мост
Вместо того, чтобы использовать drag
или же swipe
Команда в мосту отладки Android или AndroidViewClient, как это:
device.drag((600,800),(600,1200), 1000)
device.shell('input touchscreen swipe 600 800 600 1200 1000')
Есть ли способ симулировать что-то вроде следующего?
1. press down on some coordinates (eventType=DOWN)
2. sleep 2 seconds (i.e. keep holding there)
3. move to some other coordinates
2. sleep 2 seconds (i.e. keep holding there)
5. release (eventType=UP)
Обычно вы касаетесь, удерживаете там несколько секунд, перетаскиваете и удерживаете там несколько секунд, затем отпускаете пэд.
1 ответ
Если вы посмотрите на AdbClient.longPress()
вы увидите, как посылается событие длительного нажатия для некоторых клавиш:
if name in KEY_MAP:
self.shell('sendevent %s 1 %d 1' % (dev, KEY_MAP[name]))
self.shell('sendevent %s 0 0 0' % dev)
time.sleep(duration)
self.shell('sendevent %s 1 %d 0' % (dev, KEY_MAP[name]))
self.shell('sendevent %s 0 0 0' % dev)
Вы можете сделать что-то подобное для вашего случая. Чтобы получить представление о том, что вы должны написать, выполните тот же набор событий, который вы упомянули, и проанализируйте их с помощью getevent.