Всем читающим доброго времени суток!
На работе дали задачу автоматизировать GUI десктопного приложения (название не привожу, исходя из условий о неразглашении) и сразу столкнулся с проблемой поиска абсолютного пути XPath к элементам приложения. Для автоматизации выбрал фреймворк Winium.Cruciatus.
Вот XPath с относительным путем, который работает и находит нужный мне элемент:
var TextBoxElement = win.FindElement(By.XPath(".//*[@ClassName = 'PasswordBox' and contains(@LocalizedControlType, 'поле')]"));
Вот XPath с абсолютным путем, который я попытался написать, но он не сработал, этот путь искал через 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\"]"));
Прикладываю скрин DOM-дерева в Inspect, с помощью которого ищу элементы:
ОС: Windows 7. Среда разработки: Visual Studio 2015.
Помогите, пожалуйста, с решением проблемы. Поиск элемента по относительному пути очень долго отрабатывает.
Спасибо за внимание! Остановился на решении прописывать абсолютно/относительный путь, например: *[@ClassName = 'Window' and @Name = 'Быстрый поиск услуг']/*[@ClassName = 'TextBox' and @LocalizedControoType = 'поле']
и т.д.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Такой вопрос, как можно осуществить многопоточную десериализацию/сериализацию? Асинхронная понятно, с этим проблем нетНо я бы хотел выделить...
Как сделать чтобы бд работала, сделал как тут, но вызывается исключение:
Столкнулся с проблемой, взял пример для расчета CRC16 Modbus на C# отсюда Код скомпилировал, создал юнит-тест:
Как заставить бота слышать звуки (например, выстрелы разной громкости из-за разных видов оружия), и реагировать на них, если он их слышитТак...