.displayed? 。存在?所有函数都抛出Timeout :: Error而不是返回false

时间:2015-05-22 13:10:55

标签: selenium-webdriver cucumber pageobjects page-object-gem

我正在使用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

0 个答案:

没有答案