我做噩梦试图测试一个简单的JS弹出删除确认。 "模态"这是" JS确认弹出窗口"
的另一个词我的问题与此问题相同 Undefined method accept_modal for Capybara::Webkit::Driver
但答案提出了一个过时的webkit gem 1.1.0。但那是最新的宝石?
subject { page }
it "should.....",
:type => :feature,
:driver => :webkit,
:js => true do
.....
page.accept_confirm do
click_button("Delete")
end
.....
但是测试崩溃时出现错误消息
Failure/Error: page.accept_confirm {}
NoMethodError:
undefined method `accept_modal' for #<Capybara::Webkit::Driver:0x000000078cc010>
&#34;未定义的方法接受模态&#34; !?!?!这是有人想要使用Webkit的基本原因,因此必须有一个解决方案。有什么建议?这是个常见的问题吗。很多人使用Webkit吗?
提前感谢任何可以帮助解救此问题的人
答案 0 :(得分:0)
正如相关问题的答案中所述 - 您使用capybara-webkit
的过时版本,可能是因为您已将capybara
的版本锁定为最新版本最新发布的capybara-webkit
版本不支持的版本。 accept_modal
已添加到版本1.3.0周围的Capybara::Webkit::Driver
- 如果您收到该错误,则表示您之前使用过的版本。更新到最新版本的capybara-webkit
(1.14.0 - 可能需要您移回capybara
的一个或两个版本),或者如果需要,请使用capybara-webkit
的主分支使用最新的Capybara版本。
答案 1 :(得分:0)
可能对您有用:
When(/^I confirm popup$/) do
page.driver.browser.switch_to.alert.accept
end
我正在使用此步骤在弹出窗口中按“确定”按钮。