FlaNium Desktop Driver¶
FlaNium Desktop Driver — отдельное open source ПО, которое рекомендуется использовать для автоматизации тестирования настольных приложений Windows в NC AI Platform.
Драйвер запускается на клиентской машине с тестируемым приложением и принимает по сети команды от NC AI Platform:
flowchart LR
subgraph server[Сервер]
platform[NC AI Platform]
end
subgraph client[Клиентская машина с ОС Windows]
driver[FlaNium Desktop Driver]
app[Тестируемое приложение]
driver --> app
end
platform -->|Сетевое подключение| driver
Установка¶
- Скачайте архив готовой версии драйвера с FlaNium Desktop Driver Releases.
- Распакуйте архив в выбранную директорию на машине с ОС Windows, где установлено тестируемое приложение.
Запуск и настройка¶
Параметры работы драйвера задаются при его запуске. Откройте командную строку в директории с распакованным драйвером и выполните команду:
FlaNium.Desktop.Driver.exe -v --allowed-ips <IP-адрес сервера NC AI Platform>
В примере используются следующие параметры:
-v— включает подробный вывод журнала в консоль;--allowed-ips— задает IP-адреса, с которых драйвер принимает подключения.
Чтобы разрешить подключения с нескольких IP-адресов, перечислите их через запятую:
FlaNium.Desktop.Driver.exe -v --allowed-ips <IP-адрес 1>,<IP-адрес 2>
По умолчанию драйвер принимает подключения на порте 9999. После запуска в консоли отображаются используемый порт и
список разрешенных IP-адресов.
Остальные параметры запуска приведены в документации FlaNium Desktop Driver.
Запуск с помощью ярлыка Windows¶
Чтобы не вводить параметры при каждом запуске, создайте ярлык Windows:
- Создайте ярлык для файла
FlaNium.Desktop.Driver.exe. - Откройте свойства ярлыка.
-
В поле «Объект» после пути к исполняемому файлу добавьте параметры запуска, например:
"<путь к драйверу>\FlaNium.Desktop.Driver.exe" -v --allowed-ips <IP-адрес сервера NC AI Platform> -
Сохраните изменения.
При запуске через этот ярлык драйвер будет использовать указанные параметры.
Подключение NC AI Platform¶
В пользовательских настройках проекта укажите URL запущенного драйвера. URL должен содержать IP-адрес клиентской
машины и порт драйвера, например http://<IP-адрес клиентской машины>:<порт драйвера>. Выбранный порт должен быть разрешен во входящих
подключениях брандмауэра Windows.
IP-адрес сервера NC AI Platform, с которого выполняется подключение, должен быть указан в параметре --allowed-ips при
запуске драйвера.
Расположение и назначение настроек описаны в разделе «Пользовательские настройки проекта». Настройка конфигурационных шагов и полный пример запуска desktop-сценария приведены в статье «Тестирование настольного приложения».
Особенности работы с NC AI Platform¶
- Драйвер должен оставаться запущенным во время выполнения тестового сценария.
- Для взаимодействия с модальными и дополнительными окнами тестируемого приложения требуется переключать контекст приложения.
- При работе через RDP сворачивание окна подключения может препятствовать взаимодействию с приложением.
- Выделение текста или случайный клик в окне драйвера может заблокировать его работу. В этом случае перезапустите драйвер.
- Для шагов из отдельных групп NC требуется установить масштаб интерфейса Windows 100 %.
Способы устранения этих проблем приведены в разделе «Проблемы и решения».
Фокус и свернутое состояние тестируемого приложения¶
FlaNium не управляет состоянием окна перед каждым шагом сценария.
Драйвер:
- может перевести окно приложения на передний план при выполнении отдельных операций:
- при вводе текста некоторыми командами;
- при выполнении отдельных действий мышью;
- возвращает фокус активному окну приложения при продолжении теста после паузы в debug-режиме;
- может выполнять чтение свойств и отдельные операции с элементами, когда окно не находится на переднем плане:
- поиск и проверка наличия элементов, окон, кнопок и текста;
- чтение текста полей и выбранных значений;
- проверка состояния флажков, вкладок и списков;
- чтение данных из таблиц.
Драйвер не гарантирует:
- перевод приложения на передний план перед каждым шагом;
- восстановление свернутого окна;
- корректное выполнение действий мышью, если приложение перекрыто другим окном;
- передачу клавиатурного ввода тестируемому приложению, если фокус находится в другом окне;
- доступность элементов свернутого приложения.
Для выполнения сценария:
- держите тестируемое приложение развернутым;
- не перекрывайте его другими окнами при выполнении действий мышью;
- перед действиями с клавиатурой убедитесь, что фокус находится в тестируемом приложении;
- если приложение было свернуто пользователем, восстановите его вручную перед продолжением теста.
Следующий шаг сценария не следует рассматривать как команду для автоматического восстановления или активации окна.
Диагностика проблем по журналу¶
Для диагностики запускайте драйвер с параметром -v. Подробный журнал позволяет проверить:
- порт и список разрешенных IP-адресов при запуске драйвера;
- получение запроса от NC AI Platform;
- выполняемую команду и переданные параметры;
- ответ драйвера;
- отказ в подключении с IP-адреса, отсутствующего в списке разрешенных;
- ошибки запуска драйвера, сетевого взаимодействия и выполнения операций.
При возникновении проблемы:
- Проверьте порт и список разрешенных IP-адресов, указанные в начале журнала.
- Запустите тестовый сценарий и проверьте, поступил ли запрос от NC AI Platform.
- Если запрос поступил, найдите команду, после которой зарегистрирована ошибка, и сообщение об ошибке.
- Сопоставьте сообщение с известными проблемами в разделе «Проблемы и решения».
Если запрос от NC AI Platform не отображается, проверьте URL драйвера в настройках проекта, сетевую доступность клиентской машины и правила брандмауэра Windows.