我是新手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 秒,并且在脚本失败之前看到链接跳过显示了几秒钟,所以我不认为这是一个问题。
一个可能相关的事实:当应用程序显示包含所有控件的窗口时,最初不会出现跳过。根据程序设计,应用程序会在大约 5 秒之前等待。
我究竟做错了什么?提前致谢。