Тест Selenium RC: ошибка при запуске как тест JUnit, нет ошибки при отладке как тест JUnit

У меня проблема: когда я пытаюсь запустить JUnit TestCase через Eclipse в режиме отладки (используя Debug как JUnit Test), он работает отлично (я перехожу через каждое выражение), но если я запускаю его нормально, а не в режиме отладки (используя Run as JUnit Test), TestCase работает до определенного момента, а затем терпит неудачу при попытке найти какой-либо элемент html на странице с использованием xpath, то есть div, td. Я проверяю, присутствует ли элемент на странице с помощью Xpath Checker, и он присутствует.

Что может быть возможной причиной этого? Кто-нибудь сталкивался с подобным?


person ratzusca    schedule 07.12.2009    source источник


Ответы (1)


Похоже, тест работает быстрее, чем тестируемое приложение. Вы должны убедиться, что используете waitForPageToLoad везде, где происходит загрузка страницы. Кроме того, если ваше приложение вообще использует AJAX, вам, возможно, придется использовать что-то вроде waitForCondition, чтобы убедиться, что элемент существует, прежде чем пытаться получить к нему доступ.

В будущем Selenium может неявно ожидать существования элементов, а не сразу выдавать ошибку «элемент не найден», но на данный момент эти ожидания должны быть явными.

person Dave Hunt    schedule 08.12.2009
comment
Да, ты прав. Мое приложение использует AJAX, и мне пришлось ждать перезагрузки всей/части страницы. - person ratzusca; 08.12.2009