无法使用capybara_webkit驱动程序附加文件,但我可以使用selenium驱动程序

时间:2015-11-27 16:52:55

标签: ruby-on-rails selenium rspec capybara capybara-webkit

我正在尝试将一些文件附加到输入区域

 page.attach_file('image', File.absolute_path('../pictures/picture.JPG'))

当我使用Capybara.javascript_driver = :selenium时,一切正常,但我只使用硒来对结果有所了解。我需要使用Capybara.javascript_driver = :webkit,当我这样做时,我收到了错误

Failure/Error: page.attach_file('image', File.absolute_path('../pictures/picture.JPG')) 

 Capybara::Webkit::ClickFailed:
   Failed to click element /html/body/div[2]... because of overlapping element /html/body/div[2]...div[3]/em at position 255, 653; 

这个重叠元素是否有特定原因导致测试仅使用capybara_webkit失败?

1 个答案:

答案 0 :(得分:1)

  

这个重叠元素是否有特定原因进行测试   仅使用capybara_webkit失败?

是的,capybara-webkit更诚实。它允许您仅与真正可见的元素进行交互。您的文件输入似乎不可见或隐藏,可能只是其中的一部分被隐藏。

测试中通常的解决方案就是让它(元素)可见,例如通过评估javascript和更新此HTML元素的css属性。