Проблема взаимодействия с модальностями Bootstrap через Capybara (v2)
В приложении Rails яя пытаюсь проверитьБутстрап модальный сПоле jQuery TokenInput в Rspec с использованием капибары сcapybara-webkit
Водитель. Рассматриваемая часть выглядит следующим образом:
click_link 'Create Team Modal'
sleep 1
within('div#modal_popup') do
fill_in 'input#token-input-team_name', with: 'Fancy team name'
sleep 1
fill_in 'input#token-input-team_name', with: '\t'
sleep 1
click_button 'Create Team'
end
page.should have_content('Fancy team name')
Нажмите кнопку, чтобы получить модальныйЗаполните TokenInput именем командыИмитация нажатия клавиши Tab для выбораСоздать командуУбедитесь, что имя отображается на страницеЭто будет работать только со всемиsleep 1
s на месте; в противном случае Капибара падает наhave_content
Это в конечном итоге приводит к ошибке сервера, поскольку имя команды никогда не может быть выбрано должным образом. Другие модные бутстрепыбез поле TokenInput не требуетsleep 1
прежде чем они загрузятся, однако.
С учетом всего сказанного, есть ли способ избавиться от снов и сделать это как обычно? Капибара 2 досталаwait_until
(по уважительной причине), поскольку он будет ожидать в течение времени ожидания по умолчанию, чтобы проверить что-то ... но это некажется, это отражено в моем тесте, приведенном выше; Это'Как будто Капибара не участвует в этом периоде ожидания при входе / выходе из этого режима. У кого-нибудь есть опыт с этим? Использование Rails 3.2.10, Rspec 2.12, Capybara 2, capybara-webkit 0.14.0, TokenInput 1.6.