Не удается запустить тесты 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
на самом деле передает файл правильно? Есть несколько способов проверить это:
- Проверьте вывод
adb push
команда напримерadb push bin/UIAutomatorExample.jar /data/local/tmp/
В моем случае вывод1011 KB/s (5854 bytes in 0.005s)
(доказательством является количество переданных байтов. Здесь мы знаем, что что- то было успешно перенесено куда-то). - использование
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
:)