Не удается запустить тесты Android-интерфейса из командной строки

Я создал простой тест пользовательского интерфейса для приложения Android после этого урока:

http://developer.android.com/tools/testing/testing_ui.html

Теперь я собрал свой проект и загрузил TestProject.jar файл в виртуальное устройство, используя:

adb push <path_to_output_jar>/TestProject.jar /data/local/tmp/

но когда я запускаю команду, чтобы запустить мой тест

тестирование uiautomator оболочки adb TestProject.jar -c com.uia.example.my.Test

Я получаю эту ошибку

Ошибка: /data/local/tmp/TestProject.jar не существует

Зачем? Баночка загружается на виртуальное устройство. Я что-то здесь упускаю?


Кроме того, используя реальное устройство, я даже не могу загрузить его:

uiautomator: разрешение отклонено

1 ответ

Решение

Можете ли вы подтвердить, является ли adb push на самом деле передает файл правильно? Есть несколько способов проверить это:

  1. Проверьте вывод adb push команда например adb push bin/UIAutomatorExample.jar /data/local/tmp/ В моем случае вывод 1011 KB/s (5854 bytes in 0.005s) (доказательством является количество переданных байтов. Здесь мы знаем, что что- то было успешно перенесено куда-то).
  2. использование adb shell чтобы проверить, доступен ли файл в ожидаемом месте: adb shell ls -l /data/local/tmp/*.jar Вот вывод для моего примера -rw-rw-rw- shell shell 5854 2013-04-11 01:36 UIAutomatorExample.jar Примечание: размер файла в байтах соответствовал цифре из первой команды, 5854 байта.

Как только мы узнаем, что файл JAR был успешно развернут в правильном месте, команда run должна работать при условии, что на целевом устройстве работает API-интерфейс Android версии 16 или более поздней. (хотя на практике 17 - это первая версия Android, в которой UIAutomator работает надежно.)

adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings

Конечно нужно заменить LaunchSettings.jar с TestProject.jar:)

Другие вопросы по тегам