0

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

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

我应该如何解决这个问题?

4

2 回答 2

0

您的警报是浏览器警报框吗?还是应用程序的内置警报消息框?

如果是这样,您是否尝试过水豚方法has_no_css

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

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

除非,您可以使用has_css以确保您有警报消息,然后使用 sleep 2,并确保has_no_css该框不再存在。

于 2013-10-08T08:40:05.150 回答
0

试试这个代码。它会工作

page.driver.browser.switch_to.alert.accept

于 2013-10-08T06:48:17.880 回答