Мы можем использовать UIAutomator в приложениях для Android?

Я хочу знать, можем ли мы использовать UIAutomator в наших приложениях? Я хочу написать приложение, которое откроет другое приложение, написать текст в этом приложении EditText, а затем нажать несколько кнопок (например, открыть видеовстречу, написать текст и отправить сообщение). Можете ли вы предложить мне, как я могу это сделать?

У меня есть поиск в сети, и я мог только узнать, что я могу проверить свой пользовательский интерфейс с UIAutomator, но я не знаю, могу ли я использовать его, чтобы написать приложение для Android (не файл JAR) и запустить его на моем устройстве Android, чтобы сделать это.

1 ответ

Это невозможно

UiAutomator 2.0 опирается на инструментарий, который доступен только при запуске теста с использованием am instrument ..., Обычные (не тестовые) приложения не имеют доступа к инструментам.

Оболочечный UiAutomator аналогичен. Вы выполняете тесты, используя adb shell uiautomator runtest ... и UiAutomatorTestRunner использует тот факт, что он работает как пользователь оболочки для выполнения действий, на которые обычные приложения не имеют разрешения.

Если вы используете Runtime#exec(..) позвонить либо am instrument или же uiautomator runtestкоманда не будет выполняться от имени пользователя оболочки (она будет использовать uid вашего приложения) и завершится ошибкой, так как не имеет необходимых разрешений.

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