我有以下代码
browser.link(:text => 'Generate Report').click
browser.radio(:value => 'byTotalValue').wait_until_present(180)
它请求生成报告,然后通过在报告页面上查找元素来等待报告。该报告可能需要 2 分钟以上才会显示。
发生的情况是 60 秒后从 click 方法引发 Timeout::Error。我怀疑 Watir-Webdriver 在 click 方法中实现了某种形式的等待页面加载,但我没有看到调整该值的方法。
任何帮助理解这一点的帮助将不胜感激。
我会尝试增加客户端超时:
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 180 # seconds – default is 60
b = Watir::Browser.new :firefox, :http_client => client
更新:此猴子补丁已合并到 watir-webdriver 中,因此在 watir-webdriver v0.6.5 中不再需要。您将能够使用以下方式设置超时:
Watir.default_timeout = 90