Глава 3. Appium GUI.
В этой главе речь пойдет о GUI для Appium-сервера. К концу главы мы должны разобраться во всех возможностях приложения.
Содержание:
А тут у нас ссылки на
— главу 1
— и главу 2
Поехали!
Разработчики Appium хорошо спроектировали GUI для сервера. Используя этот GUI, мы можем легко запустить сервер со всеми необходимыми нам настройками [Desired capabilities из главы 1]. GUI позволяет настроить окружение перед запуском тестов.
Вот так выглядит Appium GUI. У него есть следующие кнопки/иконки:
Нажав на Настройки Android, мы увидим разные опции, которые нам могут понадобиться перед запуском тестов. Все поля распределены по секциям Application (Приложение), Launch Device (Запуск устройства), Capabilities (Возможности) и Advanced (Расширенные):
Список полей в разделе с пояснениями:
Кликните на вторую иконку, чтобы открыть общие настройки. Здесь поля так же разбиты по категориям: Server и Logging:
[Очевидно, здесь пояснений много не требуется. Их и не было. Тут можно посмотреть версию Appium]
Appium Inspector позволяет определять на странице элементы. Также доступна возможность записывать и воспроизводить действия, как в Selenium IDE, но текущая версия, работает не очень хорошо на Windows. Чтобы открыть Inspector, нужно нажать на иконку, но, сперва, нужно будет запустить приложение на девайсе:
Используя Inspector, мы можем посмотреть разметку приложения, но все равно сложно определять элементы. На Windows, UIAutomator намного мощнее Appium Inspector по части определения элементов. В следующей главе мы узнаем больше о UIAutomator.
Запускает/останавливает Appium-сервер
Находится в правом нижнем углу; удаляет логи из консоли.
Для Mac у Appium похожий GUI автоматизации Android; множество опций такое же, как на Windows. Давайте рассмотрим все настройки в GUI.
Он содержит следующие иконки:
Мы уже посмотрели настройки для Android на Windows; на Mac OS настройки такие же, но есть некоторые UI-отличия, скриншот ниже. Настройки Android поделены на две вкладки: Basic и Advanced.
Чтобы настроить iOS, нам нужно кликнуть на иконку iOS. Она содержит две вкладки: Basic и Advanced. В Basic вкладке расположены подразделы Application и Device Settings, а в Advanced — расширенные iOS настройки.
Advanced
Robot Settings
Если хотите задействовать в автоматизации робота [пока не очень ясно, какого именно], можете задать настройки в Robot Settings. В разделе Robot Settings, Appium спрашивает хост и порт, к которым подключен робот:
Save/Open configuration
Appium поддерживает возможность сохранения настроек; нам не придется снова и снова определять настройки при тестировании. Опция позволяет вам пометить файл тегом, а потом легко его найти [теги MacOS, видимо].
Чтобы сохранить файл настроек, нужно:
Сохраненную конфигурацию легко восстановить из файла, нажав кнопку Open.
Appium doctor
Подскажет про настройку Appium; вы можете проверить настройку, используя Appium doctor. Нажмите на иконку Doctor; в консоли отобразится информация.
Если что-то не настроено или не установлено, появится запись. попробуйте устранить проблему перед запуском Appium.
Inspector
Инспектор позволяет нам без труда сгенерировать скрипт автотеста. Он показывает все элементы приложения, как UIAutomator на Android. Теперь давайте рассмотрим Inspector подробнее. Для примера, возьмем калькулятор BMI — приложение на iOS. Сначала, нужно кликнуть на кнопку Save и мы должны задать путь до приложения.
В окне Appium Inspector можно увидеть следующие поля:
Вы найдете еще несколько вкладок, таких как Touch, Text, Locator и Misc, которые определяют действия с приложением.
Коротко о них:
Панель записи
Панель содержит тестовые скрипты, сгенерированные рекордером, на основе совершенных действий. Также содержит специфичных для рекордера опций:
В следующей главе мы рассмотрим способы идентификации элементов на странице мобильного приложения
В этой главе речь пойдет о GUI для Appium-сервера. К концу главы мы должны разобраться во всех возможностях приложения.
Содержание:
- Appium GUI для Windows
- Appium GUI для Mac
А тут у нас ссылки на
— главу 1
— и главу 2
Поехали!
Appium GUI для Windows
Разработчики Appium хорошо спроектировали GUI для сервера. Используя этот GUI, мы можем легко запустить сервер со всеми необходимыми нам настройками [Desired capabilities из главы 1]. GUI позволяет настроить окружение перед запуском тестов.
Вот так выглядит Appium GUI. У него есть следующие кнопки/иконки:
- Настройки Android
- Общие настройки
- Настройки разработчика
- Инфо
- Инспектор
- Запуск/Стоп
- Очистить [логи]
Настройки Android
Нажав на Настройки Android, мы увидим разные опции, которые нам могут понадобиться перед запуском тестов. Все поля распределены по секциям Application (Приложение), Launch Device (Запуск устройства), Capabilities (Возможности) и Advanced (Расширенные):
Application
Список полей в разделе с пояснениями:
Поле | Описание |
Здесь указывается путь до файла .apk, который хотите протестировать. | |
Указывает пакет для запуска. Например, com.android.calculator2. | |
Эта возможность ожидает запуска пакета, который указан в поле Package. | |
Можно указать активити, которую вы хотите запустить в приложении. Например, MainActivity. | |
Позволяет выбрать из списка браузер для запуска | |
Удаление приложения в конце сессии | |
Предотвращает сброс устройства. | |
Используется для запуска активити | |
Категория интента | |
Выставляет флаги старта активити. [Про флаги можно почитать здесь.] | |
Здесь можно задать дополнительные аргументы при старте активити |
Launch Device
Поле | Описание |
Здесь указывается имя AVD для запуска | |
Таймаут (в секундах) ожидания готовности устройства | |
Аргументы запуска эмулятора |
Capabilities
Поле | Описание |
Задает имя платформы, на которой будет запущено приложение | |
Имя инструмента автоматизации (можно выбрать из списка) | |
Здесь указывается версия Android, на которой будет тестироваться приложение. | |
Имя девайса. | |
Язык, который будет задан на устройстве Android. | |
Локаль, которая будет задана на Android. |
Advanced
Поле | Описание |
Путь к Android SDK. | |
Здесь задается класс инструментов [подробнее позже]. | |
Порт, на котором будет «висеть» Appium. | |
Порт для Selendroid. | |
Порт для ChromeDriver [если нужен]. |
General Settings
Кликните на вторую иконку, чтобы открыть общие настройки. Здесь поля так же разбиты по категориям: Server и Logging:
Server
Поле | Описание |
IP-адрес, где запущен Appium-сервер. | |
Порт, по которому Appium-сервер будет передавать команды. По дефолту: 4723. | |
Если выбрать, Appium будет автоматически проверять наличие обновлений. | |
Позволяет запустить приложение на девайсе до того, как начнет слушать команды от WebDriver. | |
Если активно, текущие сессии будут пересозданы, если они есть. | |
Если Appium-сервер запущен на другой машине, вы можете использовать эту опцию, чтобы задействовать Appium Inspector. | |
Вы можете задать путь до конфиг файла для Selenium Grid. |
Logging
Поле | Описание |
Задает уровень логирования. | |
Вывод в консоль будет сопровождаться датой-временем записи. | |
Выведенный лог будет сохранен в указанном файле (например, C:\\appium\\abc.log). | |
Лог будет отправлен по HTTP слушателю. | |
Если выберете эту опцию, будет использоваться местная тайм-зону, иначе будет использоваться тайм-зона node-сервера. |
Developer settings
Поле | Описание |
Настройки разработчика будут доступны, если выбран чек-бокс. | |
Если у вас другая версия Node.js, отличная от установленного с Appium, то можно использовать ее. Нужно задать путь. | |
Здесь можно задать пакет Appium, если у вас есть свой [все-таки open source]. | |
Порт, на котором будет запущен дебаггер Node.js. | |
Как только приложение на девайсе запуститься, дебаггер Node.js остановится. | |
Здесь можно передать серверу флаги для запуска (например, --device-name Nexus 5). [Я так понимаю, речь идет об этих флагах] |
About
[Очевидно, здесь пояснений много не требуется. Их и не было. Тут можно посмотреть версию Appium]
Inspector
Appium Inspector позволяет определять на странице элементы. Также доступна возможность записывать и воспроизводить действия, как в Selenium IDE, но текущая версия, работает не очень хорошо на Windows. Чтобы открыть Inspector, нужно нажать на иконку, но, сперва, нужно будет запустить приложение на девайсе:
Используя Inspector, мы можем посмотреть разметку приложения, но все равно сложно определять элементы. На Windows, UIAutomator намного мощнее Appium Inspector по части определения элементов. В следующей главе мы узнаем больше о UIAutomator.
The Launch/Stop button
Запускает/останавливает Appium-сервер
The Clear button
Находится в правом нижнем углу; удаляет логи из консоли.
The Appium GUI for Mac
Для Mac у Appium похожий GUI автоматизации Android; множество опций такое же, как на Windows. Давайте рассмотрим все настройки в GUI.
Он содержит следующие иконки:
- Android Settings
- iOS Settings
- General Settings
- Developer Settings
- Robot Settings
- Save configuration
- Open configuration
- Inspector
- Appium doctor
- Launch/Stop
- Delete
Android Settings
Мы уже посмотрели настройки для Android на Windows; на Mac OS настройки такие же, но есть некоторые UI-отличия, скриншот ниже. Настройки Android поделены на две вкладки: Basic и Advanced.
iOS Settings
Чтобы настроить iOS, нам нужно кликнуть на иконку iOS. Она содержит две вкладки: Basic и Advanced. В Basic вкладке расположены подразделы Application и Device Settings, а в Advanced — расширенные iOS настройки.
Application
Поле | Описание |
Здесь задается путь до iOS-приложения (.app, .zip, or .ipa), которое мы хотим протестировать. | |
Задает ID бандла. | |
Если тестируется мобильное веб-приложение, то можно выбрать эту опцию, чтобы запустить Safari. Убедитесь, что BundleID и App Path не выбраны. |
Device Settings
Поле | Описание |
Можете выбрать iPhone или iPad симулятор. | |
Используется для выбора версии платформы. | |
Указывается ориентация экрана на симуляторе. | |
Задается язык на симуляторе. | |
Формат календаря на симуляторе. | |
Локаль симулятора. | |
Если чекбокс UDID выбран, Appium запустит приложение на подключенном устройстве iOS; нужно убедиться, что bundleID поставлен, а App Path не выбран. | |
Удаляет всю папку симулятора. | |
Указывает, на то. что симулятор не должен перезапускаться между сессиями. | |
Логи симулятора будут записываться в консоль. |
Advanced
Поле | Описание |
Если выбрано, Appium будет отдавать предпочтение нативной библиотеке инструментов. | |
Мы можем определить количество попыток запуска инструментов перед тем, как репортить крэш или таймаут. | |
В миллисекундах определяет, сколько инструменты должны ждать запуска. | |
Файл шаблона, который будет использоваться инструментами. | |
Путь до XCode. |
Robot Settings
Если хотите задействовать в автоматизации робота [пока не очень ясно, какого именно], можете задать настройки в Robot Settings. В разделе Robot Settings, Appium спрашивает хост и порт, к которым подключен робот:
Save/Open configuration
Appium поддерживает возможность сохранения настроек; нам не придется снова и снова определять настройки при тестировании. Опция позволяет вам пометить файл тегом, а потом легко его найти [теги MacOS, видимо].
Чтобы сохранить файл настроек, нужно:
- Кликнуть на кнопку Save
- Задать имя файла
- Кликнуть на Tags текстбокс; отобразится список тегов. Мы можем выбрать больше одного
- Выберите место, куда хотите сохранить файл
Сохраненную конфигурацию легко восстановить из файла, нажав кнопку Open.
Appium doctor
Подскажет про настройку Appium; вы можете проверить настройку, используя Appium doctor. Нажмите на иконку Doctor; в консоли отобразится информация.
Если что-то не настроено или не установлено, появится запись. попробуйте устранить проблему перед запуском Appium.
Inspector
Инспектор позволяет нам без труда сгенерировать скрипт автотеста. Он показывает все элементы приложения, как UIAutomator на Android. Теперь давайте рассмотрим Inspector подробнее. Для примера, возьмем калькулятор BMI — приложение на iOS. Сначала, нужно кликнуть на кнопку Save и мы должны задать путь до приложения.
В окне Appium Inspector можно увидеть следующие поля:
- Показывать неактивные — показывает неактивные элементы.
- Показывать невидимые — показывает скрытые элементы
- Запись — откроет панель записи и вы сможете выполнять действия предоставленные средствами Appium Inspector
- Обновить — обновит DOM в 3-х колонках в соответствии с просмотрщиком
- Скриншот — в этой области отображается текущий скриншот приложения. Вы можете кликнуть на элемент на скрине, чтобы выбрать его в DOM
- Детали — подробности о выбранном элементе
Вы найдете еще несколько вкладок, таких как Touch, Text, Locator и Misc, которые определяют действия с приложением.
Коротко о них:
Поле | Описание |
Содержит кнопки для имитации действий: тап, свайп, скрол и шейк [трясем девайсом]. | |
Здесь работа с текстом: ввод текста и выполнение JavaScript. | |
Полезная опция от Appium. Используя ее, мы можем проверить, что наш локатор возвращает элемент. | |
Кнопки для обработки разных предупреждений. |
Панель записи
Панель содержит тестовые скрипты, сгенерированные рекордером, на основе совершенных действий. Также содержит специфичных для рекордера опций:
Поле | Описание |
Можно выбрать ЯП, на котором хотим получить тестовый скрипт (на скриншоте выбран Java). | |
Если выбрано, скрипт будет содержать код, отвечающий за поднятие инстанса Selenium. Если нет — то только сами записанные шаги | |
Воспроизводит записанный скрипт. | |
Кнопки для обработки разных предупреждений. |
В следующей главе мы рассмотрим способы идентификации элементов на странице мобильного приложения
Поделиться с друзьями