2015-03-16 5 views
1

Я пытаюсь написать интеграционный тест с использованием Capybara и capybara-webkit. Я застрял в попытке подтвердить диалог оповещения. Документация для Капибара-WebKit говорит, чтобы установить Capybara.javascript_driver = :webkit, который я сделал, но я не вижу, как это может повлиять на водосвинку :: page.driver, который я думаю, должен ответить на accept_alert:Capybara :: NotSupportedByDriverError при интеграции с capybara-webkit

def test_update_key 
    Capybara.javascript_driver = :webkit 
    visit account_path accounts(:pending_account) 

    click_link "edit_account_key" 
    page.accept_alert "Would you like to edit this account key?" do # error on this line 
    click_button('OK') 
    end 
end 

это код дает мне следующее сообщение об ошибке:

Capybara::NotSupportedByDriverError Exception: Capybara::Driver::Base#accept_modal

я в настоящее время с помощью реек (4.0.13), водосвинку (2.4.4), капибары-WebKit (1.4.1)

+0

Вы пытались добавить параметр 'js: true' к вашему тесту? – JensDebergh

+0

Я использую minitest, поэтому я не знаю, поддерживается ли эта опция - или где я ее положу. –

ответ

1

Я не знаю, что Capybara.javascript_driver = :webkit должен делать, но он ничего не сделал для меня. Я, наконец, решил проблему, поставив Capybara.current_driver = :webkit в верхней части моего теста.

Однако webkit все еще не мог принять предупреждение; На данный момент я просто изменил драйвер на Selenium, так как это работает без проблем. Я хотел использовать webkit, потому что он безголовый и, как сообщается, быстрее, но у меня нет еще много тестов, так что скорость не является проблемой на данный момент. Возможно, придется пересмотреть позже.

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