Мы можем использовать 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 вашего приложения) и завершится ошибкой, так как не имеет необходимых разрешений.