Из того, что я вижу, когда скрипт UIAutomator скомпилирован в файл jar и запускается с помощью команды adb shell. Я вижу, что есть опция -e debug командной строки, которая ждет отладчика для подключения до запуска, но как подключить его к отладчику из Eclipse, чтобы я мог отлаживать свой скрипт UI Automator?Как отлаживать сценарии UIAutomator с Eclipse
ответ
Я разработал его. Процесс немного длинный, но он работает!
Ключом к этому является понимание того, как использовать Dalvik Debug Monitor Server (DDMS) и понимание удаленной отладки с Java и Eclipse. Вкратце выполните следующие шаги:
- Настройте перспективу DDMS в Eclipse, нажав
Window > Open Perspective > Other... > DDMS
. Вы должны увидеть свое устройство, указанное на вкладке «Устройства», при условии, что у вас работает эмулятор/устройство. - Настройте конфигурацию удаленной отладки. Для этого перейдите на страницу
Run > Debug Configurations
... - Щелкните правой кнопкой мыши на Remote Java Application с левой панели и нажмите «Создать», чтобы создать новую конфигурацию.
- В свойствах подключения используйте localhost и порт 8700. В моем случае я использую эмулятор, который запускается на моей локальной машине разработки. Порт по умолчанию для DDMS - 8700. Если это не так для вашей установки, вы можете проверить, какой порт должен быть с точки зрения DDMS после запуска сценария UI Automator в режиме отладки. (См. Шаги 7-9 ниже)
- Убедитесь, что выбранный проект является проектом UI Automation, в котором вы будете работать. На вкладке «Источник» вы также можете добавить проект автоматизации UI. (Не уверен, что это обязательно или нет)
- Нажмите «Применить», а затем закройте.
Теперь мы запустим скрипт UI Automator с опцией debug с помощью командной строки. В моем примере команда (все в одной строке):
ADB оболочки uiautomator RunTest AndroidUIAutomation.jar -c com.example.uiautomation.TestUiAutomation -e отлаживать верно
Он будет говорить :
Отправка WAIT кусок
В Eclipse перейдите в перспективу DDMS. На вкладке «Устройства» вы увидите процесс с красным символом ошибки. Рядом с ним будет знак вопроса. В последнем столбце таблицы будут два номера портов, например 8602/8700. Порт 8700 - это тот, к которому вы подключите свой сеанс удаленной отладки. Это то, что должно быть сконфигурировано на шаге 4 выше.
Теперь вы готовы к удаленной отладке. Установите точку останова где-нибудь в скрипте UI Automator. Затем отлаживайтесь, перейдя в
Run > Debug Configurations
... и затем выберите конфигурацию удаленного Java-приложения, которую вы создали ранее, а затем нажмите «Отладка».
Если все пошло хорошо, вы сможете отлаживать свой скрипт UI Automator!
Thanx неодим .. это сработало !! – AndroidGuy
Я выполнил эквивалент этого в Android Studio ...но сценарий не остановился в точке останова. –
Пробовал ли вы использовать устройство с Android M (SDK Level 23)? Я пробовал, но это не сработало. Не могли бы вы помочь? – jupi