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