Альтернатива Selenium для waitForPageToLoad при работе с операцией типа AJAX - PullRequest
1 голос
/ 28 октября 2011

Я выполняю некоторые модульные тесты для своего кода, и для этого мне пришлось загрузить сервер селена.Теперь один из примеров включенного селена называется GoogleTest.Я скопировал это в папку C: \ и попытался запустить.

Сначала у меня была ошибка при попытке открыть firefox.Кажется, что селен не обновлялся в течение достаточно долгого времени, так как он поддерживает до Firefox версии 3.5.Нашел этот полезный блог, который мне помог (изменив 3.5. * На 7.0. *).

Теперь у меня новая проблема.Кажется, что селен также не обновил свои документы, и GoogleTest зависает при выполнении ( этот пост объясняет почему).При использовании операций типа AJAX операция waitForPageToLoad зависает.

Теперь мне нужен эквивалент этой операции, но при работе с операциями AJAX ... кто-нибудь знает альтернативу?Спасибо

Ответы [ 3 ]

2 голосов
/ 01 ноября 2011

Вы пробовали с QAF ранее ISFW ?Он внутренне ожидает элемент, а также предоставляет функциональные возможности ожидания для завершения ajax для набора js-инструментария, такого как dojo, extjs, prototype и т. Д.

, например, если AUT использует extjs, то вы можете использовать как

waitService.waitForAjaxToComplete(JsToolkit.EXTJS);
0 голосов
/ 01 ноября 2011

Я тестирую некоторые тяжелые страницы ajax и JS и столкнулся с точно такой же проблемой Я использовал неявные ожидания для приостановки выполнения кода ajax и загрузки нового контента в DOM. Вот пример Python из моего кода:

from selenium import webdriver
browserHandle = webdriver.Firefox()
browserHandle.implicitly_wait(10)
## assuming dom object loads in 10 seconds
## clear implicit wait
browserHandle.implicitly_wait(0)
0 голосов
/ 01 ноября 2011

В Selenium нет функции ожидания возврата назад. Способ обработки изменений AJAX заключается в использовании класса WebDriverWait для ожидания того, что конкретное условие станет истинным после возврата вызова AJAX.

Так, например, для теста Google WebDriverWait может ожидать появления поискового контейнера.

По сути, вы должны знать, чего вы ждете, чтобы продолжить тест.

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