【发布时间】:2012-12-05 19:41:59
【问题描述】:
我是Rails 和Selenium 的新手,但使用过其他自动化测试工具。
我将一个脚本从 Selenium 2 IDE 导出到 Rails/RSpec,并正在修改代码以使其运行。该脚本无法找到特定链接。
从工作 IDE 脚本导出的原始 Ruby 代码是:
@driver.find_element(:link, "skip").click
这失败了,所以我尝试使用 XPath 语句来识别元素。 (我使用 XPath修复了原始导出代码中的其他元素失败,这就是我使用此策略的原因。)
我尝试了不同的替代方法来识别 Ruby 代码中的链接,例如:
尝试 #1:@driver.find_element(:XPath, "//*[@class='skip-link']").click
尝试 #2:@driver.find_element(:XPath, "//*[@value='skip']").click
所有情况下的结果:Unable to locate element: {"method":"link text","selector":"skip"}
每个 Firebug 报告的 HTML:
<a style="float: right; margin-right: 10px; text-decoration: none;" href="/yourfuture" class="skip-link"> skip </a>
每个 Firebug 报告的 XPath:
/html/body/div[2]/div[2]/div/div/div[3]/div[4]/a
我将超时设置为 60 秒,并且看到链接 skip 在脚本失败之前显示了几秒钟,所以我认为这不是问题。
一个可能相关的事实:当应用程序显示带有所有控件的窗口时,最初不会出现 skip。根据程序设计,应用程序会等待大约 5 秒。
我做错了什么?提前致谢。
【问题讨论】:
标签: iframe selenium-webdriver rspec-rails automated-tests