访问活动模态框内的 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,整个测试失败。
我正在尝试检查 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,整个测试失败。