如何测试 onclick: javascript:print() 是否在功能规范中工作

How to test if onclick: javascript:print() is working in a feature spec

我在页面中嵌入了 link:

<%= link_to "<span class ='glyphicon glyphicon-print'></span>".html_safe, '#', onclick: 'javascript:print()',
  class: 'print_link', id: 'printable' %>

如果我单击它,它会打开浏览器覆盖以打印页面。在功能规范中,如何测试此浏览器叠加层是否打开?

这会打开一个 Capybara 无权访问的系统对话框,因此您无法真正检查它。对于大多数驱动程序,您可以通过执行

之类的操作来验证 onclick 属性的值
expect(find(:link, 'printable')['onclick']).to eq 'javascript:print()'

这将验证 link 是否存在正确的点击处理程序,但实际上无法验证实际行为