我正在使用cucumber,page-object和selenium webdriver来自动化具有嵌套iframe的应用程序。现在检查一个元素是否存在,我使用下面的代码:
@current_page.send(my_element + '_element').exists?
而不是在代码上面返回false而是抛出Timeout :: Error错误。我也直接尝试了selenium功能,但同样的问题
@browser.switch_to.frame(0)
@browser.find_element(:id => 'some_id').displayed?
@browser.switch_to.default_content
我已经在我的env.rb和hooks.rb中设置了超时时间,如下所示:
TIME_OUT = 180
PageObject.default_page_wait = TIME_OUT
PageObject.default_element_wait = TIME_OUT
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = TIME_OUT
@browser = Selenium::WebDriver.for(browser.to_sym, :http_client => client)
@browser.manage.window.maximize
@browser.manage.timeouts.implicit_wait = TIME_OUT
@browser.manage.timeouts.page_load = TIME_OUT
@browser.manage.timeouts.script_timeout = TIME_OUT