WinAppDriver Appium не находит элемент, видимый через inspect.exe - PullRequest
0 голосов
/ 27 апреля 2020

Я программирую в приложении WinForms с gui, созданным с использованием Visual Basi c еще до 2005 года. У меня часто будут элементы, видимые в inspect.exe, но когда я запускаю WinAppDriver и Appium, это не удается обнаружить эти элементы.

Это ошибка, которую я получаю.

OpenQA.Selenium.WebDriverException: «Не удалось найти элемент на странице с использованием заданных параметров поиска.»

Ошибка произойдет, даже если мое приложение является единственным развернутым приложением. Это происходит, когда я нажимаю кнопку и запускаю другую форму. Чтобы убедиться, что это не потому, что элементы еще не появились, я запустил команду Thread.Sleep (5000), чтобы у запущенной формы было достаточно времени для появления.

Эта строка кода пытается щелкнуть элемент.

driver.FindElementByAccessibilityId("vlblYVar").Click(); 

Вот рисунок, на котором inspect.exe четко находит элемент. Любое руководство будет с благодарностью!

enter image description here

1 Ответ

0 голосов
/ 27 апреля 2020

Оказывается, что элементам в окне, которое всплывает, требуется значительное время, чтобы его можно было распознать с помощью winappdriver, даже если inspect.exe немедленно его обнаружит.

Мне пришлось использовать

var element = desktopWait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.VisibilityOfAllElementsLocatedBy(ByWindowsAutomation.AccessibilityId("vlblYVar")));
desktop.FindElementByAccessibilityId("vlblYVar").Click(); 

Также мне пришлось использовать драйвер, который загружает пользовательский интерфейс рабочего стола, потому что при использовании драйвера моей программы не было найдено элемента, который привел бы к тайм-ауту.

У меня новая проблема. Когда у меня есть поле со списком, элементы в этом поле со списком находятся по имени с inspect.exe, но winAppDriver никогда не может идентифицировать элементы в поле со списком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...