Модуль для управления Android эмуляторами

500 

Название: AndroidManager
Версия: 2.1
Согласие на добавление модуля в BAS: Да

Название: AndroidManager
Версия: 2.1
Согласие на добавление модуля в BAS: Да

Модуль позволяет автоматизировать популярные действия на мобильных эмуляторах на базе Android. В работе используется сервер appium и драйвер uiautomator2, а для подключения к appium серверу – пакет webdriverio.

Возможности модуля:

  • Многопоток за счет асинхронности. Работает быстрее большинства аналогичных open-source библиотек с классической многопоточностью.
  • Возможность искать элементы по xpath, а не набору аттрибутов.
  • Добавлены все популярные adb команды, а также действия, которых нет в appium, либо в webdriverio

Инструкция по установке

  1. Скачать и установить Java jdk. Выбрать нужно версию Windows x64 Installer и именно jdk, а не jre и другие. На данный момент файл называется jdk-8u341-windows-x64.exe.
  2. Правый клик по “Мой компьютер” > “Дополнительные параметры системы” > “Переменные среды”. В нижнем окне (системные переменные) нажать “Создать” и прописать название переменной JAVA_HOME, а в значении указать путь к установленной Java на предыдущем шаге.
    Screenshot_2.png
  3. Скачать и установить Android Studio.
  4. Запустить Android Studio и нажать More actions.
    Screenshot_3.png
  5. Выбрать пункт SDK Manager.
    Screenshot_4.png
  6. Перейти на вкладку SDK Tools и установить Build-Tools и Platform-Tools, как на скрине. Если планируется подключать реальные телефоны, то нужно также установить Google USB Driver и Google Web Driver.
    Screenshot_5.png
  7. Перейти обратно в “Переменные среды” (см. п.2). В переменных среды пользователя (верхнее окно) нажать “Создать” и прописать переменную ANDROID_HOME, значением которой указать путь к папке SDK.
    Screenshot_6.png
  8. В нижнем окне найти переменную Path, выделить ее и нажать “Изменить”.
    Screenshot_7.png
  9. Добавить пути к папке bin в директории jdk, папкам SDK/platform-tools и SDK/build-tools.
    Screenshot_2.png
  10. Скачать и установить Node JS. После установки нода предложит перезапустить ПК. Согласиться и перезапустить.
  11. Установить appium:
npm install -g appium
  1. Установить appium-doctor:
npm install -g appium-doctor
  1. Запустить appium-doctor с флагом –android для проверки, что все зависимости корректно установлены в системе.
appium-doctor --android 

Отмеченные на скрине пункты у вас тоже должны быть зелеными.
Screenshot_9.png

Если на момент выполнения действий из данной инструкции в системе уже были установлены эмуляторы (Nox, MEmu и т.п.), то зачастую у них есть свои файлы adb.exe, которые также прописаны в переменных среды. В этом случае при подключении будет использоваться какой-то из этих файлов, а не adb из SDK.

Для фикса достаточно переименовать файлы adb в папке с эмулятором, например в _adb.exe.

Чтобы проверить расположение файлов adb в системе, нужно скачать утилиту gow.exe. После установки перезагрузить ПК.

После этого можно выполнить команду:

where adb

Она покажет пути к файлам adb, которые видимт система. Первый путь должен вести к папке SDK и быть примерно таким:

C:\Users\username\AppData\Local\Android\Sdk\platform-tools\adb.exe 

Инструкция по запуску

Для взаимодействия с эмуляторами требуется запустить сервер appium. Делать это можно автоматически через модуль действием “Запустить сервер”. Однако часто запущенный таким образом сервер не видит библиотека webdriverio. Поэтому настоятельно рекомендуется перед стартом вашего шаблона запускать сервер appium вручную. Делается это командой:

appium -a 127.0.0.1 -p 4723

где 127.0.0.1 – IP, на котором запускается сервер, 4723 – порт.
Если сервер запустился, то вы увидите примерной такой вывод:
Screenshot_11.png

Окно консоли нужно оставить открытым на все время работы шаблона. Чтобы остановить сервер, нужно в консоли нажать Ctrl+C.

Appium рекомендуется запускать на дефолтном порту 4723. Т.к. другой рандомный порт может быть уже занят каким-то системным процессом.