Мне нужно дождаться, пока полоса загрузки (div#loading) исчезнет (станет display: none) на этапе огурца. Я ожидаю, что следующее поможет
find('#loading').should_not be_visible
Но, похоже, не ждет. Есть идеи, как этого добиться?
Мне нужно дождаться, пока полоса загрузки (div#loading) исчезнет (станет display: none) на этапе огурца. Я ожидаю, что следующее поможет
find('#loading').should_not be_visible
Но, похоже, не ждет. Есть идеи, как этого добиться?
Вы захотите использовать wait_until
, чтобы дождаться выполнения вашего условия.
wait_until { !page.evaluate_script(%{$('#loading').is(':visible')}) }
Возможно, лучше подождать, чтобы проверить видимость, но в прошлый раз, когда я проверял, page.has_no_css
не работает с такими вещами, как :visible
.
(Обновление) Хотя has_css
не видит селекторов, таких как :visible
, Capybara::Node::Element
имеет некоторые методы, чтобы сделать вышеприведенное немного красивее.
wait_until { !find("#loading").visible? }