UIAutomator2: как не превратить автоклик в хрупкий скрипт
UIAutomator2 хорош там, где нужен не «кликер», а управляемый сценарий: открыть экран, дождаться элемента, проверить состояние, нажать, вернуть устройство в исходное положение. На ферме это полезно для рутины, которую нельзя вешать на ручной контроль.
База проста:
— ищите элементы не по координатам, а по id, text или description;
— перед каждым действием делайте wait, иначе получите случайные промахи;
— после клика проверяйте, что экран действительно изменился;
— для повторяемых цепочек сразу закладывайте retry и таймауты.
Если сценарий длинный, разбивайте его на мелкие функции: вход, проверка, действие, выход. Так проще ловить зависания и менять одну часть, не трогая весь скрипт. Для нестабильных экранов полезно делать скриншот или dump и смотреть, какой именно элемент пропал или переехал. Прошивка девайсов под конкретные задачи здесь тоже помогает: чем меньше лишней анимации и фоновых сервисов, тем предсказуемее UI.
Для больших пулов устройств держите единый шаблон запуска: подключение по ADB, проверка доступности, прогрев интерфейса, выполнение сценария, логирование ошибок. И не забывайте про паузы между действиями — слишком агрессивная автоматизация чаще ломается о задержки ввода, чем о сам UI.
Стабильность превыше скорости: сначала добейтесь повторяемости на одном аппарате, потом масштабируйте на всю ферму.
Мобильные фермы
@mobile_farms_ubt
UIAutomator2: как не превратить автоклик в хрупкий скрипт
Этот пост опубликован в Telegram-канале Мобильные фермы. Подписаться можно по ссылке: @mobile_farms_ubt.