Ответ 1
Простым подходом будет ждать некоторый "конкретный" текст на этой последней странице, см. команду waitForText для получения дополнительной информации об этом
У меня довольно стандартная ситуация: нажмите кнопку, она загружает страницу перехода с индикатором выполнения или чем-то еще, а затем эта страница перенаправляется на следующую страницу, на что требуется некоторое время для загрузки.
Я хочу запускать утверждения на последней странице, а не на странице перехода. Как сообщить Selenium IDE дождаться загрузки последней страницы перед выполнением утверждений?
Спасибо.
Простым подходом будет ждать некоторый "конкретный" текст на этой последней странице, см. команду waitForText для получения дополнительной информации об этом
Чтобы добавить подход к Джону, вы можете использовать механизм ожидания Selenium, чтобы убедиться, что элементы на вашей последней странице присутствуют следующим образом:
Джава:
WebDriverWait wait = new WebDriverWait(webDriver, 10); // seconds
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("foo")));
Рубин:
wait = Selenium::WebDriver::Wait.new(timeout: 10) # seconds
wait.until { driver.find_element(id: "foo") }
Это будет правильно следовать любым перенаправлениям.
Пример из https://code.google.com/p/selenium/wiki/RubyBindings
Вы можете дважды вызвать строку wait_for_page подряд. Первый ждет переадресации, второй для последней страницы.
Вы также можете подождать, пока заголовок страницы не станет ожидаемым значением:
$driver->wait()->until(WebDriverExpectedCondition::titleIs('New page title from redirect'));