Watir:当网页元素存在时总是等待

mea*_*ace 1 watir cucumber browser-testing watir-webdriver pageobjects

用户操作后,Web应用程序始终使用此div.我的测试脚本有这一行.逐字逐句.

@browser.div(:id => 'loading-indicator').wait_while_present
Run Code Online (Sandbox Code Playgroud)

在任何地方明确地包括这条线是可以的,但是丑陋和重复.

使用wait_until_present下一元素(" foo负载指示后"),有时会工作.然而,在某些情况下foo和负载指示同时存在,但foo不是visible?直到负载指示消失.

有没有办法,或许在env.rb,向watir-webdriver表明它应该始终wait_while存在这个元素?

tit*_*ner 6

如果要在每次单击和页面加载/重新加载后检查它,可以将其添加到After Hook

browser.after_hooks.add do |b| 
  b.div(id: 'loading-indicator').wait_while_present
end
Run Code Online (Sandbox Code Playgroud)