我正在尝试用Capybara和capybara编写一个集成测试。我被困在试图确认一个警报对话。capybara的文档要求设置Capybara.javascript_driver = :webkit
,但我不认为这会对Capybara::page.driver产生什么影响,我认为这应该是对accept_alert
的响应。
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::Driver::Base#accept_modal::NotSupportedByDriverError例外
我目前正在使用rails (4.0.13),capybara (2.4.4),capybara-webkit (1.4.1)
发布于 2015-03-17 17:48:26
我不知道Capybara.javascript_driver = :webkit
该做什么,但它没有为我做任何事。我最终通过将Capybara.current_driver = :webkit
放在测试的首位解决了这个问题。
但是,webkit仍然无法接受警报;我只是暂时将驱动程序更改为Selenium,因为这没有问题地运行。我想使用webkit,因为它是无头的,而且据说速度更快,但是我还没有编写太多的测试,所以速度在这一点上不是一个问题。可能得等会儿再来看看。
https://stackoverflow.com/questions/29084622
复制相似问题