使用Capybara测试消失的警报框

时间:2013-10-07 11:10:37

标签: ruby-on-rails selenium capybara

我正在使用Capybara和Selenium来测试功能。我有一条警报消息,在2秒后消失(即,该元素从html页面中删除)。

现在,使用Capybara检查元素是否存在会产生不一致的结果:有时它会通过。有时失败了。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

试试这段代码。它会工作

  

page.driver.browser.switch_to.alert.accept

答案 1 :(得分:0)

您的提醒是否为浏览器提醒框?或者您的应用程序的内置警报消息框?

如果是这样,您是否尝试过水豚法[{1}}?

http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Matchers#has_no_css%3F-instance_method

我认为水豚会等到警报框消失。

除非您可以使用has_no_css确保收到提醒信息,然后使用休眠2,并使用has_css方法确保该信息不再存在。