水豚期待*否*警报

时间:2019-01-14 20:02:27

标签: ruby-on-rails capybara

使用水豚,有没有办法期望页面上没有警报?我在想一些类似的事情:

click_link('some link')
expect(page).to have_no_alert

或者类似的东西。

1 个答案:

答案 0 :(得分:0)

不,Capybara没有提供类似的功能,并且所有警报处理方法都采用了会打开警报的块,因此编写自己的匹配器来做到这一点并不容易。

您可以按照以下方式进行操作

expect do
  accept_alert do # may want to pass a `wait` option to `accept_alert` to shorten how long it will check for an alert to exist
    click_link('some link')
  end
end.to raise_error(Capybara::ModalNotFound)