Я пытаюсь выполнить автоматическое тестирование, и мне нужно вызвать длительное нажатие клавиши с помощью команды adb с моего ПК. Например, долгое нажатие кнопки «Домой» вызовет последние использованные приложения. Я обнаружил, что ключевое событие № 3 предназначено для домашнего ключа. Но я не мог понять, как вызвать долгое нажатие кнопки «Домой». Некоторые сообщения здесь предлагают использовать команду сна. Но у меня это не работает, оно всегда запускает событие с одним щелчком, а затем засыпает. Это не делает долгое нажатие. Пожалуйста помоги.
Что я пробовал, так это: adb shell input keyevent 3 adb shell sleep 2
Я просто использую домашний ключ в качестве примера. Это может быть любая клавиша на Android-устройстве, например клавиша dpad. задний ключ и т.д.
sleep
не сработало для вас, потому что командаinput keyevent
отправляет событие нажатия клавиши и нажатия клавиши до завершения. Чтобы правильно эмулировать «долгое» нажатие с помощьюsleep
, вам нужно отправить отдельное событие для вниз и вверх и использоватьsleep
между ними. Здесь на SO есть много ответов на вопросы об использованииsendevent
.Это невозможно, поскольку у меня есть исследования и разработки и эта ссылка.
переопределение долгого нажатия клавиши Home в категории. ГЛАВНАЯ активность
Спасибо за быстрый ответ! Извините, я не очень ясно выразился в своем оп. Я ищу запуск события с помощью команды оболочки adb, а не в приложении. Это для целей автотестирования. И это не обязательно должен быть домашний ключ. Я просто использую это как пример. — person Safecoder; 03.11.2012
каково ваше фактическое представление об этой задаче ›? — person Safecoder; 03.11.2012
Я провожу автоматическое тестирование некоторых разработанных нами приложений. Одно действие, которое мы хотели бы протестировать, — это долгое нажатие на выделение. На самом деле я использую dpad для навигации по компоненту пользовательского интерфейса. Я могу использовать центр dpad, чтобы сделать щелчок, но я не могу найти способ сделать долгое нажатие. В моем OP я пытаюсь сделать его более общим, поэтому в качестве примера я использовал домашнюю клавишу. — person Safecoder; 03.11.2012