Тестирование Desktop приложения с интерфейсом построенным с использованием infragistics

Добрый день. Столкнулся с необходимостью протестировать такое решение и сразу с несколькими вопросами.

Из фреймворков попробовал WinAppDriver, стандартными локаторами не находит элементы. Есть возможность подать локатор от windows UI Automation в метод FindElementByWindowsUIAutomation, который принимает его на вход как строку. Но я не могу понять как пишутся эти локаторы. В сети информация обрывочна. Может где-то есть образцы подобных локаторов.

Судя по отзывам teststack.white и другие фреймворки не умеют нормально работать с элементами из infragistics

Пробовал завести UI automation из состава .net, приложение открыл, но не могу понять как поймать текущее открытое окно, по какому принципу там ищется элемент. До этого работал с вебдрайвером, так что в десктопном тестировании подозреваю что я не могу дойти до каких-то базовых очевидных вещей. Буду благодарен за любой совет.

UI Spy видит элементы?

Пока не выходит достучатся до тех элементов которые видит UI Spy.
Часть элементов с которыми придется работать UI Spy не видит, но их находит inspect.exe
По информации из сети, вроде их находят через windows Ui automation framework

Из того что пока попробовал сделать с windows Ui automation framework, это найти окно и кнопку в нем, но при попытке обратится к окну или к кнопке выдает nullReferenceExeption

искать пробовал таким образом

var mainWindow = AutomationElement.RootElement.FindFirst(System.Windows.Automation.TreeScope.Children, new PropertyCondition(AutomationElement.AutomationIdProperty, “тут указан AutomationId”));

TestComplete умеет работать с Infragistics, но это коммерческий продукт:

Так как у вас есть опыт работы с WebDriver - попробуйте Winium… Почти все настроено у вас уже…

TestComplete недешево, Winium почему-то рандомно виснет в разных местах.

Видит ли CodedUI recorder эти элементы?

Перебрал несколько инструментов, промежуточные итоги:
CodedUI recorder проблемные элементы не находит, кликает по координатам.
Test Complete рекордер находит часть проблемных элементов и успешно обращается к ним по automationID, часть по имени, некоторые тоже по координатам.
Голый Microsoft UIAutomation - результаты что-то между CodedUI Test Complete.

Сейчас использую последний вариант, проблемные функции отрабатываю подачей нажатия клавиш (хоткеев) и кликами по координатам, но фактически это костыльное решение. Собственно непонятно почему один и тот же элемент из UIAutomation не работает, а в тесткомплит работает, учитывая то что тесткомплит это обертка поверх юайаутомейшн.

Ну, ТестКомплит это все-таки гораздо больше, чем просто обертка над UIAutomation.
Попробуйте прописать классы проблемных элементов в соответствующих разделах Object Mapping - Object Mapping | TestComplete Documentation

И не надо пользоваться рекордером. Он подходит для быстрого решения каких-то простых сценариев, но это не ваш случай, судя по всему.