Всем читающим доброго времени суток!
На работе дали задачу автоматизировать GUI десктопного приложения (название не привожу, исходя из условий о неразглашении) и сразу столкнулся с проблемой поиска абсолютного пути XPath к элементам приложения. Для автоматизации выбрал фреймворк Winium.Cruciatus.
Вот XPath с относительным путем, по которому я нахожу нужный мне элемент:
var TextBoxElement = win.FindElement(By.XPath(".//*[@ClassName = 'PasswordBox' and contains(@LocalizedControlType, 'поле')]"));
Вот XPath с абсолютным путем, который я попытался написать, но он не сработал и переменной TextBoxElement был присвоен null, этот путь искал через WInAppUiRecorder:
var TextBoxElement = win.FindElement(By.XPath("/Pane[@Name=\"Рабочий стол\"][@ClassName=\"#32769\"]/Window[@Name=\"Наименование приложения\"][@ClassName=\"Window\"]/Tab[@ClassName=\"TabControl\"]/TabItem[@Name=\"Подключение\"][@ClassName=\"TabItem\"]/Custom[@Classname=\"CredentialBoxControl\"]/Edit=\"PasswordBox\"]"));
ОС: Windows 7.
Среда разработки: Visual Studio 2015.
Прикладываю скрин DOM-дерева в Inspect, через который ищу элемент:
Помогите, пожалуйста, с решением проблемы. Поиск элемента по относительному пути очень долго отрабатывает.