Работа с Appium Inspector
UI Приложений на ОС Аврора построен с помощью QML страниц. Для просмотра структуры страниц с новыми версиями Appium можно использовать Appium Inspector.
- Предварительные условия
- Установка и запуск
- Панель управления
- Структура страницы
- Работа с UI элементами
Предварительные условия
Для успешной работы с Appium Inspector требуется, чтобы на устройстве был установлен и активирован
qtium-driver
(через соответствующий пункт меню Режима разработчика в Настройках).
Установка и запуск
В данном руководстве рассматривается работа Appium Inspector на примере ОС Ubuntu 24.04.1
.
При работе с другими операционными системами процесс установки и запуска необходимо адаптировать в соответствии с их особенностями.
-
Скачать подходящий релиз формата AppImage (версии <2025.7.3):
wget https://github.com/appium/appium-inspector/releases/download/v2025.7.3/Appium-Inspector-2025.7.3-linux-x86_64.AppImage
-
Выдать разрешение на запуск:
chmod +x Appium-Inspector-2025.7.3-linux-x86_64.AppImage
-
Запустить Appium Inspector:
./Appium-Inspector-2025.7.3-linux-x86_64.AppImage
Панель управления
-
Для начала работы с утилитой в поле
Remote Host
необходимо задать IP адрес контейнера appium (например,127.0.0.1
), в полеRemote Port
задать порт контейнера Appium (по умолчанию —4723
): -
Далее необходимо заполнить поля на вкладке Capability Builder. В полях необходимо указать правильные capabilities, аналогично созданию обьекта драйвера в автотестах.
Для упрощения заполнения можно использовать JSON Representation. Для этого необходимо нажать на кнопку Edit Raw JSON:
И затем вставить в текстовое поле JSON аналогичную конфигурацию:
{ "automationName": "Aurora", "platformName": "Aurora", "platformVersion": "2.2", "newCommandTimeout": 86400, "appPackage": "ru.auroraos.ApplicationTemplate", "deviceName": "192.168.2.15", "autoLaunch": false, "appiumInspector": true }
При необходимости можно изменить значение поля
appPackage
на имя желаемого приложения и значение поляdeviceName
на IP адрес устройства с запущенным qtium-driver. -
Сохранить конфигурацию, нажав кнопку Save:
-
После сохранения конфигурации можно установить соединение с приложением, нажав кнопку Start Session в нижнем правом углу:
После успешной установки соединения с приложением появится интерфейс работы с ним, включающий различный функционал:
Структура страницы
Ниже приведены различные представления структуры одной и той же страницы.
-
Представление страницы в QML коде:
-
UI представление страницы:
-
Представление страницы в Appium Inspector:
По нажатию ЛКМ на конкретном UI элементе откроется окно с его свойствами:
Работа с UI элементами
Для работы с определенным UI элементом необходимо его выделить из списка других в дереве страницы, используя отличие в его атрибутах от других элементов.
Appium Inspector позволяет осуществлять поиск элементов по следующим атрибутам:
ID
;XPath
;СlassName
.
Чтобы осуществить поиск по атрибуту, необходимо:
-
Нажать на кнопку Search for element на верхней панели Appium Inspector:
При нажатии на неё откроется окно для поиска:
-
Выбрать нужный атрибут из списка выше для поиска, затем заполнить поле
Selector
соответствующим значением. Например, для атрибута XPath полеSelector
можно заполнить значением//PageStack
. При нажатии на кнопку поиска Search появляются элементы, подходящие под атрибуты поиска:
В дальнейшем при использовании селектора можно быть уверенным, что qtium-driver будет взаимодействовать именно с найденным элементом.
Поиск по ID
С помощью данного способа можно найти элемент по свойству objectName
у обьектов.
Это самый однозначный, оптимизированный и быстрый способ найти нужный элемент.
Однако не стоит переусердствовать с добавлением objectName
при разработке собственного приложения,
так как чрезмерно большое количество таких атрибутов может привести к замедлению работы UI.
Поиск по XPath
В работе с приложениями далеко не всегда удается найти простой и уникальный селектор для элемента.
Лучшим вариантом решения такой проблемы является добавление objectName
, однако это не всегда
возможно сделать быстро и удобно.
В такой случаях рекомендуется использовать язык запросов XPath.
XPath (XML Path Language) — это язык запросов, который использует древовидную структуру документа. С синтаксисом языка можно ознакомиться здесь.
Существуют следующие базовые правила для работы с XPath:
-
XPath запрос всегда начинается с символа
/
или//
. Они используются следующим образом:el1/el2
— выбирает элементы el2, являющиеся прямыми потомками el1;el1//el2
— выбирает элементы el2, являющиеся потомками el1 любой степени вложенности.
-
'[ ]'
— команда фильтрации. Если по запросу найдено несколько элементов, то будет произведена фильтрация по правилу, указанному в скобках. Существует множество вариантов фильтрации, ниже приведены некоторые из них:- по атрибуту — например, если нужно найти элемент с классом
LabelBase
, у которого атрибутtext
содержит определенное значение, то поиск осуществляется так://LabelBase[text()='Изменить событие']
; - по индексу — при наличии нескольких элементов можно обратиться к определённому элементу в списке, например,
//Button[2]
найдет второй элемент на странице с классомButton
; - по частичному совпадению атрибута — например,
//LabelBase[contains(text(), 'Сегодня')]
найдет элементы, у которых классLabelBase
и текст содержит слово "Сегодня", например "Сегодня, 20 апреля".
- по атрибуту — например, если нужно найти элемент с классом
-
Поиск по классу в XPath зависит от регистра.
Поиск по ClassName
У всех элементов на странице есть класс.
При открытии свойства элемента можно увидеть значение класса в поле ClassName
.
На странице из примера выше есть две кнопки с атрибутом ClassName: Button
.
При поиске по ClassName
Appium Driver покажет все элементы, имеющие такой же ClassName
.