如何添加wait方法等到ruby + Cucumber2.0中加载特定元素

时间:2016-10-04 18:26:07

标签: ruby rspec cucumber capybara

我在浏览器堆栈上测试我的案例时遇到了问题。面临的问题是不一致的。

使我的代码等到元素加载时使用如下:

gift_no_btn1 = Capybara.find('giftingNoButton')
gift_no_btn1.click

这里的问题是屏幕卡在另一个未加载我想要的元素的模块中,因此我的脚本失败了。我已经读过在Capybara 2.0中将find()方法替换为wait_untill方法。

1 个答案:

答案 0 :(得分:4)

Capybaras发现方法将等待Capybara.default_max_wait_time秒,以显示匹配元素。如果他们没有等待足够长的时间,可以使用:wait选项(如

)增加该设置或覆盖特定查找
page.find :css, 'CSS selector for the element', wait: 10

将等待最多10秒钟的元素存在。在您的示例中,您传递的是'giftingNoButton'的CSS选择器,除非您使用自定义元素,否则该选择器无效。你可能想要'#giftingNoButton'(找到id匹配)或'.giftingNoButton'(类匹配)