使用 Capybara Webkit 测试 js 确认对话框 Rspec
testing js confirmation dialogs using Capybara Webkit Rspec
我做噩梦试图测试一个简单的 JS 弹出删除确认。
"modal"这里是"JS confirmation pop-up"
的另一种说法
我的问题似乎与这个相同
Undefined method accept_modal for Capybara::Webkit::Driver
但答案建议使用过时的 webkit gem 1.1.0。但那是最新的gem?
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>
"Undefined method accept modal" !?!?!这是有人想要使用 Webkit 的一个基本原因,因此必须有一个解决方案。有什么建议么?这是个常见的问题吗。使用 Webkit 的人多吗?
在此先感谢任何可以帮助解决此问题的人
如链接问题的答案中所述 - 您使用的是 capybara-webkit
的过时版本,可能是因为您已将 capybara
的版本锁定为最新版本capybara-webkit
的最新发布版本不支持。 accept_modal
已添加到 Capybara::Webkit::Driver
版本 1.3.0 左右 - 如果您收到该错误,则说明您使用的是之前的版本。更新到 capybara-webkit
的最新版本(1.14.0 - 这可能需要您退回 capybara
的一个或两个版本),或者如果需要,请使用 capybara-webkit
的主分支使用最新的 Capybara 版本。
可能对你有用:
When(/^I confirm popup$/) do
page.driver.browser.switch_to.alert.accept
end
我正在使用此步骤在弹出窗口中按下“确定”按钮。
我做噩梦试图测试一个简单的 JS 弹出删除确认。 "modal"这里是"JS confirmation pop-up"
的另一种说法我的问题似乎与这个相同 Undefined method accept_modal for Capybara::Webkit::Driver
但答案建议使用过时的 webkit gem 1.1.0。但那是最新的gem?
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>
"Undefined method accept modal" !?!?!这是有人想要使用 Webkit 的一个基本原因,因此必须有一个解决方案。有什么建议么?这是个常见的问题吗。使用 Webkit 的人多吗?
在此先感谢任何可以帮助解决此问题的人
如链接问题的答案中所述 - 您使用的是 capybara-webkit
的过时版本,可能是因为您已将 capybara
的版本锁定为最新版本capybara-webkit
的最新发布版本不支持。 accept_modal
已添加到 Capybara::Webkit::Driver
版本 1.3.0 左右 - 如果您收到该错误,则说明您使用的是之前的版本。更新到 capybara-webkit
的最新版本(1.14.0 - 这可能需要您退回 capybara
的一个或两个版本),或者如果需要,请使用 capybara-webkit
的主分支使用最新的 Capybara 版本。
可能对你有用:
When(/^I confirm popup$/) do
page.driver.browser.switch_to.alert.accept
end
我正在使用此步骤在弹出窗口中按下“确定”按钮。