我正在使用Selenium2与Capybara 1.0.0,WebDriver和Cucumber 1.0.0在Windows 7工作站上运行。
我的Cucumber测试遇到了问题,某些链接根本没有被点击。我们有几百个场景,并且click_link命令上有一些失败。我发现这些链接在链接文本中有换行符,因为链接文本比它占用的区域宽。问题出现在Firefox和IE上(我还没有检查过任何其他浏览器)。
我发现这个信息似乎涵盖了this主题:显然,WebDriver点击链接的矩形空间的中心点。当链接文本中断,以便第二行中只有一个单词结束时,WebDriver将在链接外单击。
我即将尝试实现他们在故障单中提到的解决方法(在链接上发送一个ENTER键击),但这必须是临时修复。有没有人知道解决这个问题的更好方法?我想很多人会遇到这个问题,或者我做错了什么?
答案 0 :(得分:3)
我终于得到了解决方法。问题是发送密钥'enter',它应该是'return'。
对于那些使用Capybara和Cucumber的人来说,这是有效的:
When /^I click "(.*)"$/ do |linkText|
link=find_link(linkText)
link.native.send_keys([:return])
end