Я создаю несколько тестов для настольного приложения, используя драйвер приложения win. Все в порядке, но я не могу использовать модель фабрики страниц, которую я использовал раньше в веб-приложениях. Проблема в том, что если элемент не завершил загрузку, то никакое ожидание не выполняется до того, как к элементу будет осуществлен доступ. Как только я вызываю ожидание, оно терпит неудачу
Waits.WaitForDisplayedEnabled(Scan.BarcodeField, Driver, 3);
... как только к нему обращаются (и до того, как он может быть запущен), код переходит к элементу на «странице», который я настроил, и говорит, что его невозможно найти. Я знаю, что элемент можно найти при отладке, поэтому с локатором элементов все в порядке. Есть ли лучший способ настроить элементы на страницах, не используя модель Page Factory? Казалось бы, фабрика страниц не сразу пытается получить доступ к элементу, поэтому она работает так хорошо. Ниже показано, как я настраиваю элемент...
public WindowsElement BarcodeField => Driver.FindElementByXPath("//*[@Name='Barcode' and @ClassName='TextBlock']");
FindElement
, а ЗАТЕМ передаете его для ожидания. Это означает, что элемент уже существует. - person Fenio   schedule 18.06.2019