我想查看测试用例:
我写了这个方法:
def loadmore_button_visible?
wait_until(20) do
@browser.refresh
link_element(:title => 'load_more').visible?
end
end
并将其用作
expect(on(ProductViewPage).loadmore_button_visible?).to be_true
表示“test1”
和expect(on(ProductViewPage).loadmore_button_visible?).to be_false
代表“test2”
它适用于test1,但对于test2,它会产生超时错误。我想我在这里问了类似的问题wait_until block is giving time out error
但这次我认为它不是wait_until
阻止wait_until
阻止“test1”。
答案 0 :(得分:2)
您的wait_until
阻止期望解析为true。如果没有,则会引发TimeoutError。第一个测试通过,因为link_element(:title => 'load_more').visible?
为真,并且满足wait_until
方法。如果希望方法返回true和false,则需要捕获错误并显式返回false。类似的东西:
def loadmore_button_visible?
begin
wait_until(20) do
@browser.refresh
link_element(:title => 'load_more').visible?
end
rescue TimeoutError
false
end
end