Есть ли способ обновить страницу столько раз, сколько это возможно, и подождать, пока элемент загрузится на этой странице в селене? - PullRequest
0 голосов
/ 06 апреля 2019

Мне нужно проверить, появляется ли элемент после постоянного обновления страницы, потому что требуется время, чтобы изменения отразились и элемент появился на этой странице.

Есть ли какой-нибудь встроенный метод в селене, использующий Ruby в качестве языка программирования?

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

Просто чтобы подтвердить, похоже, что страница не обновляется динамически, как только контент становится доступным, поэтому вам придется подождать, пока это не станет истиной, а затем обновить вручную, верно?

Я не знаювсего, что встроено в селен, чтобы справиться с этим.Такое ощущение, что это может быть даже симптомом пользовательского интерфейса, который требует немного больше дизайнерской работы (простите за мою критику).Если пользователь испытывает то же самое, что и тест - запуск действия, ожидание некоторого неопределенного периода времени, а затем обновление вручную, чтобы увидеть результаты - это своего рода паршивое взаимодействие с пользователем.Если это неверное предположение и обратная связь ЕСТЬ (например, счетчик), то лучшим вариантом будет условно дождаться появления, а затем исчезновения счетчика, а затем обновить его один раз.

Если действительнонет видимой обратной связи, тогда у вас все еще есть несколько вариантов:

Легко : Жесткий код сна, который дольше, чем операция когда-либо будет выполняться, и обновите один раз.

Средний : в цикле, спать с постоянной задержкой, обновлять, повторять до некоторого времени ожидания.

Сложный : если требуемая задержка сильно варьируется (иногда секунды,иногда минуты), вы могли бы рассмотреть экспоненциальное решение для отсрочки, которое спит все более длительные задержки каждой итерации, прежде чем в конечном итоге тайм-аут.Достоинством является то, что вы десятки раз не обновляетесь, недостатком является то, что ваша задержка может быть излишне долгой, если контент поступает сразу после начала следующей большой задержки.

0 голосов
/ 07 апреля 2019

Вы можете использовать метод ожидания , чтобы элемент был доступен. Если вам необходимо постоянно обновлять страницу, просто ждите после каждого обновления.

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