正在等待聚合物加载

时间:2015-10-15 18:53:49

标签: polymer capybara selenium-chromedriver

我正在努力让一些验收测试与Capybara合作。该应用程序的主要部分利用Polymer。应用程序的一些关键部分需要测试才能等待Polymer库和应用程序代码加载。是否有以聚合物为中心的方式来等待Polymer和应用程序加载。我目前正在使用睡眠语句,但这在测试运行时间确实很膨胀。

2 个答案:

答案 0 :(得分:1)

我认为您应该听取WebComponentsReady事件,在加载所有Polymer元素时会触发它。

https://github.com/webcomponents/webcomponentsjs#webcomponentsready

答案 1 :(得分:0)

似乎聚合物FOUC预防在身体上使用“未解决的”属性,一旦聚合物完成元素的初始化就会被去除。如果你已将该属性放在身体上,那么

expect(page).not_to have_selector('body[unresolved]')

等待聚合物完成加载

另一种方法是将WebComponentsReady事件的侦听器添加到代码中,该代码在触发时在body元素上设置数据属性,然后让Capybara找到具有该属性的body。