2015-04-13 2 views
1

У меня есть несколько тестов в Capybara.Тест Capybara успешно завершается неудачно

В частности, у меня есть два метода «описать».

Эти два теста иногда работают нормально, но иногда они терпят неудачу, и я не понимаю, почему, поскольку я их не меняю. Это делает мою тестовую среду совершенно ненадежной.

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

Я имею в виду, что иногда некоторые запросы, такие как expect.to have_css(), запускаются до того, как страница полностью загружена. Это возможно?

Luca

+0

Возможно, если у вас много операций ajax-y. Приложения AngularJS могут вызвать проблемы с Capybara. Если у вас есть «загрузочные ролики» в приложении, это полезно для ожидания, прежде чем двигаться вперед с некоторыми шагами в ваших тестах. В противном случае я рекомендую выводить больше сообщений журнала в своих спецификациях, чтобы сузить место и почему они терпят неудачу. – Phil

+0

Ну, ты прав. На самом деле сторона JS широкая и дикая. Нет AngularJS и «загрузочных прядильщиков»: я попытаюсь реализовать некоторые так, чтобы увидеть, помогают ли они. –

ответ

0

На что рассчитан ваш тайм-аут? Вы можете переопределить его.

using_wait_time(30) do 
    expect(page).to have_css('selector') 
end 
+0

К сожалению, это не улучшилось. Я либо пытался реализовать метод «wait ajax» (https://robots.thoughtbot.com/automatically-wait-for-ajax-with-capybara), но он, похоже, не сильно изменился. –

Смежные вопросы