Ruby on rails 4 Capybara::与Capybara webkit集成测试时DriverError不支持
我正在尝试使用Capybara和Capybara webkit编写一个集成测试。我一直在尝试确认警报对话框。capybara webkit的文档中说要设置Ruby on rails 4 Capybara::与Capybara webkit集成测试时DriverError不支持,ruby-on-rails-4,capybara,capybara-webkit,Ruby On Rails 4,Capybara,Capybara Webkit,我正在尝试使用Capybara和Capybara webkit编写一个集成测试。我一直在尝试确认警报对话框。capybara webkit的文档中说要设置capybara.javascript\u driver=:webkit,我已经这样做了,但我看不出这会如何影响capybara::page.driver,我认为它应该响应接受\u警报: def test_update_key Capybara.javascript_driver = :webkit visit account_path
capybara.javascript\u driver=:webkit
,我已经这样做了,但我看不出这会如何影响capybara::page.driver,我认为它应该响应接受\u警报
:
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异常:Capybara::Driver::Base#accept#U模式
我目前正在使用rails(4.0.13)、capybara(2.4.4)、capybara webkit(1.4.1)我不知道capybara.javascript\u driver=:webkit应该做什么,但它没有为我做任何事情。我最终解决了这个问题,将
Capybara.current\u driver=:webkit
放在测试的顶部
然而,webkit仍然无法接受警报;我只是暂时将驱动程序改为Selenium,因为它运行起来没有问题。我想使用webkit,因为它是无头的,据说速度更快,但我还没有编写很多测试,所以速度在这一点上不是问题。以后可能需要重新访问。您是否尝试将
js:true
选项附加到您的测试中?我使用的是minitest,因此我不知道该选项是否受支持,或者我将它放在哪里。