访问活动模态框内的 html

Access the html inside an active Modal

我正在尝试检查 Capybara,以获取模态框内显示的内容:

# expect(page).to have_content 'Lock Admin?'

但是,这将返回 false,即使文本存在于模态中,如下所示。 为此,我使用默认驱动程序 "RackTest",在我的场景中使用 :js => true

如果您指定了 :js => true 那么您没有(使用 Capybaras 默认设置)使用机架测试驱动程序,您将使用 Capybara.javascript_driver 设置的任何驱动程序,默认情况下是 selenium,它会在 运行 测试时打开一个 firefox 实例。

从你的图片看起来不像系统模态,所以我假设它只是一个 html 模态 - bootstrap/etc。在那种情况下,您的期望应该有效,尽管要检查文本是否处于模态中,执行类似

的操作会更正确
expect(page).to have_css('.modalBox', text: 'Lock Admin?')

第一个参数是 css 选择器会找到的模式。如果这样的事情对你不起作用,你需要 post 为你的模态 html,整个测试失败。