【发布时间】:2014-05-14 01:39:12
【问题描述】:
我正在尝试运行自动化测试脚本(Selenium Webdriver2 + ruby),但后来遇到了一个奇怪的问题。 直到昨天还运行良好的脚本现在抛出“没有这样的元素异常”。 但是,当在 firebug 中检查时,该路径肯定存在,并且应用程序中没有任何变化。 该脚本未能在以下代码中检测到 iframe2:-
browser.manage.timeouts.implicit_wait = 20 # 秒
############ GO TO OVERVIEW TAB ################
#Adding wait until quote is created and page is ready for content tab click.
wait = Selenium::WebDriver::Wait.new(:timeout => 5)
wait.until { browser.find_element(:id => "j_id0:tabDetailedContent_lbl") }
browser.find_element(:id => "j_id0:tabDetailedContent_lbl").click
iframe = browser.find_element(:id =>'CPQFrame')
browser.manage.timeouts.implicit_wait = 10
browser.switch_to.frame(iframe)
browser.find_element(:css,".processBarElement.noSelected").click
#frame.browser.find_element(:css,".processBarElement.noSelected").click
#browser.manage.timeouts.implicit_wait = 30 # seconds
iframe2 = browser.find_element(:xpath,'html/body/div[3]/div[2]/div[2]/div[3]/iframe')
#browser.manage.timeouts.implicit_wait = 10
browser.switch_to.frame(iframe2)
我搜索了这种不一致的行为,但找不到任何合理的解决方案。一篇可以追溯到 2009 年的帖子归咎于不稳定的 Selenium Webdriver。
有没有其他人也经历过这种情况?任何解决方法/解决方案?
帮助大家!
谢谢。
阿布舍克
【问题讨论】:
-
如果您可以包含一些测试代码,您将获得更具体的答案。
-
@DanSnell 添加了代码..
标签: ruby testing automation selenium-webdriver