Cucumber Watir::Wait.until方法能否等待多个元素
目前,为了等待三个不同的元素,我调用了Watir::wait.until方法三次:Cucumber Watir::Wait.until方法能否等待多个元素,cucumber,watir-webdriver,Cucumber,Watir Webdriver,目前,为了等待三个不同的元素,我调用了Watir::wait.until方法三次: def wait Watir::Wait.until {@browser.text_field(:css => '.inputtext').exists?} Watir::Wait.until {@browser.text_field(:css=> '.inputpassword').exists?} Watir::Wait.until {@browser.button(:css =>
def wait
Watir::Wait.until {@browser.text_field(:css => '.inputtext').exists?}
Watir::Wait.until {@browser.text_field(:css=> '.inputpassword').exists?}
Watir::Wait.until {@browser.button(:css => 'input#u_0_1').exists?}
end
是否可以有一个等待所有三个元素的until
方法调用?例如,类似于:
def wait
Watir::Wait.until {@browser.text_field(:css => '.inputtext').exists?,
@browser.button(:css => 'input#u_0_1').exists?,
@browser.text_field(:css=> '.inputpassword').exists?}
end
until
方法将等待块的最后一个表达式(大括号)计算为true。因此,您只需要将所有检查联接到一个表达式中。这可以通过使用&
,和,|
或或来实现
考虑到您希望所有检查的计算结果都为true,请使用&&
(和
也可以):
def wait
Watir::Wait.until {
@browser.text_field(:css => '.inputtext').exists? &&
@browser.button(:css => 'input#u_0_1').exists? &&
@browser.text_field(:css=> '.inputpassword').exists?
}
end