Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 Capybara::与Capybara webkit集成测试时DriverError不支持_Ruby On Rails 4_Capybara_Capybara Webkit - Fatal编程技术网

Ruby on rails 4 Capybara::与Capybara webkit集成测试时DriverError不支持

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和Capybara webkit编写一个集成测试。我一直在尝试确认警报对话框。capybara webkit的文档中说要设置
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,因此我不知道该选项是否受支持,或者我将它放在哪里。