@jslby

Как просто автоматизировать приложение на Android?

Пробую автоматизировать приложение с помощью https://github.com/appium/appium-uiautomator2-driver
Мне необходимо:
1. Запустить стороннее приложение (установлено ранее из апк)
2. Кликнуть по xpath из dump(дамп есть, я просто скину xpath)
3. Найти в приложении поле ввода(возможен скролл)
4. Ввести туда текст

Нашел в сорсах файл с командами, но не могу выполнить коннект устройства, у меня есть только его уникальный код из adb devices. Можете пожалуйста ткнуть носом как запустить простой тест?
  • Вопрос задан
  • 283 просмотра
Пригласить эксперта
Ответы на вопрос 1
h4r7w3l1
@h4r7w3l1
Не проще по адб все вышеперечисленное вышеперечисленные действия?

поднимаем адб, получаем серийник (если выполнение на 2+ девайса/эмулятора). порт 5555 первый вроде как выдается дефолтный но могу ошибаться.

закидываем apk, если не установлено, выполняем инстал (одной командой по adb)
далее по хорошему нужно бы изучить доступные activity приложения, посмотрите документацию, команда вызывала по-моему пакетный менеджер который выводил список приложений и их активити (все идет с стоковым adb кроме апк трестируемого разумеется)

Исходя из выбранного активити ( как правило main активити у многих апк)

Если при открытии фокус курсора ставиться на форму, передаем input text в adb, переходим к след форме отправкой send key (в документации посмотреть под каким номером идет клавиша TAB или "джойстик вниз") в таком духе все формы, и submit выполним передав send key номер занчения "enter"

получаем состояние экрана дампом xml, парсим встроенными линукс тулзами либо на самом девайсе либо передаем контекст файлом/выводом потока cat. Определяем успешность/не успешность, делаем все нужные дела на стороне хоста, и крутим по новой.

з.ы. это самый тривиальный вариант который не требует ничего кроме стоковых adb и девайса.
В рамках фреймворков, посмотрите андройд студия также более чем достаточно умеет юнит тесты писать, собирать. Они обычно сохраняются на девайсе в виде файла, и запускаются по adb инициализацией запуска теста из файла. Вприцнипе такой подход даст более гибко ориентироваться и взаимодействовать с элементами как нативных так и остальных приложений. Освоил минут за 45 основные моменты которых хватило с головой автоматизировать куда сложнее логику автотестов.

з.ы.ы. пишу все на память, давненько было, могу путать частично какието названия, или команды, но суть думаю понятна.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы