В наших тестовых примерах uiautomator мы используем UiObject.clickAndWaitForNewWindow для запуска любого нажатия. Однако иногда это просто слишком долго для устройства для ответа/загрузки страницы. Таким образом, до того, как страница будет полностью загружена, любой последующий анализ/тест завершится неудачно, так как ожидаемые виджеты еще не готовы. Это не позволяет выполнить некоторые из наших тестовых случаев неопределенным способом. Большую часть времени просто перезапускают тестовые примеры, которые они проходят.UiObject clickAndWaitForNewWindow занимает слишком много времени, чтобы загрузить
Есть ли способ убедиться, что UiObject.clickAndWaitForNewWindow загружает ожидаемую страницу полностью, прежде чем продолжить следующую проверку? Мы можем вставить оператор сна сразу после UiObject.clickAndWaitForNewWindow, который работает как меч с двойным краем, но на самом деле это не решает эту проблему.
UiObject.clickAndWaitForNewWindow();
// how to wait until the page is loaded completely
new UiSelector(...); // search for widgets that are supposed to be on the newly loaded page
спасибо Smriti! Предполагается, что мы знаем идентификатор ресурса «com.example.test: id/elmnt». что, если мы этого не сделаем? или, что еще хуже, мы не знаем какого-либо специального виджета, который может помочь нам идентифицировать новую страницу. – user908645
Возможно, мне следовало бы спросить об этом, так или иначе, как ctor, строящий полный объект перед возвратом, в ui automator, который сообщает, что все виджеты готовы на новой странице? – user908645