Как определить, использует ли приложение Win32/UIA для поддержки того же самого в pywinauto с правильными настройками бэкэнда?

Я использую pywinauto для тестирования одного приложения, которое, в свою очередь, использует несколько приложений. Существует ли механизм, с помощью которого я могу запрашивать и проверять, с помощью чего разрабатывается конкретное приложение, win32/UIA, так что backend=XX может быть передан. pywinauto.Application(бэкэнд ="МАУ")

pywinauto.Application (бэкэнд ="МАУ")

1 ответ

Решение

Нет автоматического определения лучшего бэкэнда. И не понятно, как это сделать. Некоторые приложения могут быть полностью автоматизированы с использованием любого из этих бэкэндов (например, MFC и некоторые из WinForms), поскольку API автоматизации пользовательского интерфейса во многих случаях поддерживает элементы управления на основе Win32 API.

Также нет прямого соответствия между структурой GUI, используемой для разработки приложений, и технологией доступности, поддерживающей его тестируемость GUI. Пользовательские элементы управления могут добавить больше трудностей для этого выбора.

Есть только одно полезное свойство "FrameworkId" в Inspect.exe это может быть достигнуто только бэкэндом "uia". Это не всегда актуально (иногда это просто "Win32" без каких-либо подробностей), но по крайней мере "WPF", "Qt5", "WinForms" и "MFC" могут быть обнаружены.

Другие вопросы по тегам