我目前有一块Ruby的工作原理如下:
def error_message
browser.span(:id => 'ctl00_cphMainContent_lblMessage').wait_until_present(30) do
not errors.empty?
end
errors
end
但是,我更喜欢这样的东西:
span(:errors, :id => 'ctl00_cphMainContent_lblMessage')
##farther down##
def error_message
browser.errors.wait_until_present(30) do
etc...
我是Ruby的新手,但我怎么能做这样的事情,假设它可能?
答案 0 :(得分:0)
通常,您使用Watir::Wait.until
或<element>.wait_until_present
方法。
通过这种方式,您可以执行以下操作:
# Earlier in code
@browser = Watir::Browser.start('http://mypage.com/')
# ...
errors = { my_first_error: "You forgot your keys in the car!" }
check_for_errors(error[:my_first_error])
# Wherever
def check_for_errors(error, expiry=30)
error_element = @browser.span(:id => 'ctl00_cphMainContent_lblMessage')
error_element(value: error).wait_until_present(expiry)
end
有关详细信息,请参阅watir documentation。