如何用 Cuprite 检查模态文本?

How to inspect modal text with Cuprite?

我正在从 Poltergeist to Cuprite driver for Capybara 切换。

我有 Javascript 代码,用于设置确认模式的消息,我想在我的功能规范中检查它。

javascript 是 confirm("....")

有了 Poltergiest,我可以做到 page.driver.browser.modal_message

这不受 Cuprite 支持,还有其他方法吗?

查看 Cuprite 在后台使用的 ferrum 驱动程序,我可以看到可以为出现的对话框注册一个挂钩。

message = nil

page.driver.browser.on(:dialog) do |dialog|
  message = dialog.message
end

accept_confirm do
  click_on progress_tab.name      
  expect(message).to eq text('...')
end

不好看。

Capybaras accept_confirm(哪个 cuprite 支持)returns 来自系统模态的字符串:

text = accept_confirm do
   # ... the actions that triggers the modal to appear
end

或者您可以将字符串传递给 accept_confirm 以让它验证字符串:

accept_confirm('the text to check') do
   # ... the actions that triggers the modal to appear
end