Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (20)
  • Как просто автоматизировать приложение на Android?

    h4r7w3l1
    @h4r7w3l1
    Не проще по адб все вышеперечисленное вышеперечисленные действия?

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

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

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

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

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

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

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