qtium-driver
qtium-driver предоставляет возможность автоматизированного тестирования пользовательских QML-приложений, созданных сторонними разработчиками, на ОС Аврора с помощью фреймворка Appium. Драйвер оптимизирован для работы с приложениями, разработанными в SDK. При использовании с системными предустановленными приложениями и сервисами (например, «Настройки», «Сообщения», «Контакты») корректная работа не гарантируется.
Appium — это свободно распространяемый фреймворк с открытым исходным кодом, предназначенный для тестирования пользовательского интерфейса мобильных приложений. Он помогает тестировать нативные, гибридные и веб-приложения, проводить автоматизированное тестирование на физических устройствах, а также с помощью эмулятора и симулятора. Данный фреймворк предлагает кросс-платформенное тестирование приложений, он не отягощён зависимостью от операционной системы мобильного устройства. Appium поддерживает все языки с клиентскими библиотеками Selenium такие, как: Java, Objective-C, JavaScript с node.js, PHP, Ruby, Python, C# и т.д.
qtium-driver — это транслятор, который преобразует клиентский код Appium в команды для конкретного приложения на ОС Аврора, его задача — исполнять команды Appium API (известного как WebDriver Protocol). Драйвер состоит из следующих основных частей:
- libqtium-driver-hook.so — библиотека, которая загружается в адресное пространство при старте тестируемого приложения (через механизм LD_PRELOAD) и позволяет управлять его UI элементами. Пересборка пользовательского приложения с данной библиотекой не требуется.
- qtium-bridge.service — сервис, запущенный на устройстве и отвечающий за коммуникацию между Appium сервером на хостовом ПК и тестируемым приложением через инжектированную библиотеку libqtium-driver-hook.so. Сервис автоматически прослушивает входящие сообщения от Appium на порту 8888 через сетевой интерфейс режима разработчика.
Для проведения автоматизированного тестирования необходимо наличие следующих компонентов:
- Appium-сервер должен быть запущен на ПК.
- На устройстве должен быть активирован Режим разработчика, устанавливающий qtium-driver и открывающий доступ к устройству через сетевой интерфейс.
- В меню настроек "Средства разработчика" должна быть включена опция "Разрешить автотестирование пользовательского интерфейса".
- (Дополнительно) qainspector — программа на ПК, которая может быть использована для исследования дерева элементов QML-приложений с инжектированным qtium-driver.
qtium-driver позволяет проводить автоматизированное тестирование и отладку только QT/QML-приложений. Для успешного подключения необходимо перезапустить ранее открытые приложения или перезагрузить устройство.
См. также: