-
Notifications
You must be signed in to change notification settings - Fork 79
20. Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android устройства
Appium — кроссплатформенный фреймворк для автоматизации мобильных приложений как под управлением Android, так и под iOS. Appium бесплатный и распространяется с открытым исходным кодом. Работа фреймворка схожа с принципами работы Selenium WebDriver. Appium также получает HTTP-запросы в виде JSON и преобразует их в зависимости конкретной платформы.
Самый простой способ получить Appium — установить Appium Desktop. Для этого следует перейти на страницу релизов фреймворка в GitHub и скачать установщик под актуальную операционную систему.
Перед первым запуском необходимо перейти в меню «Edit Configuration» и указать путь до JDK и Android SDK. Инструкция по установке JDK доступна по ссылке.
Android SDK устанавливается автоматически вместе с Android Studio. Если вы уже устанавливали какую-либо IDE от JetBrains, то на компьютере должен быть JetBrains ToolBox. Необходимо открыть его, выбрать в меню Android Studio и установить. Если JetBrains ToolBox нет, то Android Studio можно скачать с сайта разработчика.
Android Studio — среда разработки приложений под Android и мобильную экосистему на базе Android. Менеджер SDK позволяет устанавливать SDK под разные версии Android и различные эмуляторы мобильных устройств. По умолчанию уже установлен SDK для Android 10 и эмулятор Pixel 4 XL.
Для создания нового устройства необходимо перейти в меню «Device Manager» и выбрать опцию «Create Device». В открывшемся окне необходимо выбрать модель устройства, его параметры и далее сохранить выбор. После этого можно будет запускать эмуляцию устройства.
Appium Inspector — инспектор элементов интерфейса мобильных приложений, работающий на базе Appium Server. Для установки необходимо перейти страницу GitHub проекта, открыть вкладку «Релизы» и скачать последнюю версию установщика для актуальной операционной системы. После скачивания следует открыть файл и пройти шаги установки.
При настройке проекта в Appium Inspector необходимо передать параметры:
- Remote Host — тот же, что в Appium Server;
- Remote Port — тот же, что в Appium Server;
- Remote Path —
/wd/hub
; - Desired Capabilities — параметры проекта.
Appium Inspector работает также, как инспектор в браузере. С помощью мышки можно выбирать элементы, получать их ID и другие параметры. Эти данные можно использовать для автоматизации тестов. Также важно учесть, что Appium Selector не обновляет состояния приложения самостоятельно. Поэтому после манипуляций в эмуляторе необходимо нажимать кнопку «Refresh Source & Screenshot».
Готовые тесты можно запускать прямо из PyCharm. При этом в эмуляторе можно мониторит прохождения теста в реальном времени. Мобильные тесты отличаются от браузерных только системой, в которой тесты воспроизводятся.
Android Debug Bridge (ADB) позволяет запускать тесты не на эмуляторе, а на реальном физическом устройстве. Подключать смартфон можно с помощью USB-кабеля или Wi-Fi. Ожидаемо, что быстрее и стабильнее работает соединение через USB-кабель.
Важно отметить, что перед настройкой Android Debug Bridge необходимо убедиться, что на машине уже стоит Android Studio, Appium Server и Appium Selector.
- На смартфоне необходимо перейти в настройки, открыть пункт параметров для разработчиков и активировать функцию «Отладка по USB»;
- После этого надо подготовить компьютер, чтобы он обнаружил подключенное устройство:
- macOS: дополнительные настройки на требуются;
- Chrome OS: дополнительные настройки на требуются;
- Windows: при необходимости следует установить драйвер для OEM-устройств.
После выполнения предварительных шагов можно подключить смартфон к компьютеру через USB. При запуске тестов тесты будут запускаться на физическом устройстве, а не эмуляторе.
Чтобы убедиться, что компьютер обнаружил смартфон, следует выполнить команду adb devices
. В списке должно появиться имя устройства.
✔️ Сайт
✔️ Чат в Telegram
✔️ Канал в Telegarm
Содержание
Командная строка
Кодировка UTF-8 в Java
Список полезных книг для автоматизаторов тестирования на языке Java
Список полезных книг для автоматизаторов тестирования на языке Python
Структура проекта
Github README.md
Java:
1. Вводное занятие. Сразу к практике.
2. Git. GitHub. Погружаемся.
3. Погружаемся в инструментарий и библиотеки
4. Основы Java
5. Продолжаем разрабатывать автотесты. PageObjects
6. JUnit 5
7. Allure Reports
8. Работа с файлами
9. Selenide #1
10. Jenkins. Создаем первую задачу
11. Управляем параметрами в коде и в Jenkins
12. Отправляем уведомления о результатах прохождения автотестов
13. Учимся быстро разрабатывать проекты для тестовых заданий
14. Selenoid
15. Библиотека Owner
16. REST API. Пишем автотесты с Rest assured
17. REST API. Декомпозируем UI тесты. Подключаем отчетность
18. REST API. Продолжаем изучать
19. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
20. Allure TestOps
21. Переезд на собственную инфраструктуру Java
Python:
1. Вводное занятие. Сразу к практике!
2. Погружаемся в инструментарий и библиотеки
3. Git. GitHub. Погружаемся.
4. Основы Python
5. Selene #1
6. Основы Python. Часть II
7. Основы Python. Часть III
8. Page Object
9. Allure Reports
10. Работаем с файлами Python
11. Jenkins. Создаем первую задачу и управляем параметрами Python
12. Телеграм бот. Отправляем уведомления о результатах прохождения тестов
13. Pytest
14. Selenoid
15. Pytest. Часть II
16. Venv, Poetry и управление зависимостями проекта
17. REST API. Часть I. Пишем автотесты с Requests
18. REST API. Часть II. Продолжаем изучать
19. Мобильная автоматизация #1. Разрабатываем автотесты с Browserstack
20. Мобильная автоматизация #2. Разрабатываем автотесты с эмулятором Android устройства
21. Allure TestOps
22. Переезд на собственную инфраструктуру Python