2014-02-24 2 views
6

Из того, что я вижу, когда скрипт UIAutomator скомпилирован в файл jar и запускается с помощью команды adb shell. Я вижу, что есть опция -e debug командной строки, которая ждет отладчика для подключения до запуска, но как подключить его к отладчику из Eclipse, чтобы я мог отлаживать свой скрипт UI Automator?Как отлаживать сценарии UIAutomator с Eclipse

ответ

9

Я разработал его. Процесс немного длинный, но он работает!

Ключом к этому является понимание того, как использовать Dalvik Debug Monitor Server (DDMS) и понимание удаленной отладки с Java и Eclipse. Вкратце выполните следующие шаги:

  1. Настройте перспективу DDMS в Eclipse, нажав Window > Open Perspective > Other... > DDMS. Вы должны увидеть свое устройство, указанное на вкладке «Устройства», при условии, что у вас работает эмулятор/устройство.
  2. Настройте конфигурацию удаленной отладки. Для этого перейдите на страницу Run > Debug Configurations ...
  3. Щелкните правой кнопкой мыши на Remote Java Application с левой панели и нажмите «Создать», чтобы создать новую конфигурацию.
  4. В свойствах подключения используйте localhost и порт 8700. В моем случае я использую эмулятор, который запускается на моей локальной машине разработки. Порт по умолчанию для DDMS - 8700. Если это не так для вашей установки, вы можете проверить, какой порт должен быть с точки зрения DDMS после запуска сценария UI Automator в режиме отладки. (См. Шаги 7-9 ниже) Remote Java Application
  5. Убедитесь, что выбранный проект является проектом UI Automation, в котором вы будете работать. На вкладке «Источник» вы также можете добавить проект автоматизации UI. (Не уверен, что это обязательно или нет)
  6. Нажмите «Применить», а затем закройте.
  7. Теперь мы запустим скрипт UI Automator с опцией debug с помощью командной строки. В моем примере команда (все в одной строке):

    ADB оболочки uiautomator RunTest AndroidUIAutomation.jar -c com.example.uiautomation.TestUiAutomation -e отлаживать верно

  8. Он будет говорить :

    Отправка WAIT кусок

  9. В Eclipse перейдите в перспективу DDMS. На вкладке «Устройства» вы увидите процесс с красным символом ошибки. Рядом с ним будет знак вопроса. В последнем столбце таблицы будут два номера портов, например 8602/8700. Порт 8700 - это тот, к которому вы подключите свой сеанс удаленной отладки. Это то, что должно быть сконфигурировано на шаге 4 выше.

  10. Теперь вы готовы к удаленной отладке. Установите точку останова где-нибудь в скрипте UI Automator. Затем отлаживайтесь, перейдя в Run > Debug Configurations ... и затем выберите конфигурацию удаленного Java-приложения, которую вы создали ранее, а затем нажмите «Отладка».

Если все пошло хорошо, вы сможете отлаживать свой скрипт UI Automator!

+0

Thanx неодим .. это сработало !! – AndroidGuy

+0

Я выполнил эквивалент этого в Android Studio ...но сценарий не остановился в точке останова. –

+1

Пробовал ли вы использовать устройство с Android M (SDK Level 23)? Я пробовал, но это не сработало. Не могли бы вы помочь? – jupi

Смежные вопросы