我和Justin Ko的回答有50/50成功。该工作的人有这样的代码:
link_to "Reset", reset_pre_shot_description_mental_game_path(@mental_game), data: {confirm: 'Are you sure?'}, class: "small_button round", id: "reset_pre-shot"
这个测试:
page.accept_confirm do
click_link "Reset"
end
失败(但在浏览器中运行的代码)的代码
link_to 'Delete', micropost, data: {confirm: 'Are you sure?'}, method: :delete
测试并测试
page.accept_confirm do
click_link "Delete"
end
失败URE消息是
Failure/Error: page.accept_confirm do
Capybara::ModalNotFound:
Timed out waiting for modal dialog
我试过method: :delete
移动到:data
哈希值,但这并没有帮助。
事实证明,弃用警告居然发现代码中的两个错误,因为我用的是轨道3语法确认,即不使用:data
散,所以我的代码被打破,但page.driver.accept_js_confirms!
试验中未捡起来。所以这值得跟踪。
page.driver.browser.accept_confirm? – coorasse 2014-10-09 12:25:51
试过我自己,因为我有同样的问题。它不起作用。它似乎确认accept_modal(:confirm,options,&blk),但给出参数错误。我仍然在寻找答案。 – Art 2014-10-10 17:29:17