无法使用 capybara_webkit 驱动程序附加文件,但我可以使用 selenium 驱动程序
Can't attach files with capybara_webkit driver, but i can with selenium driver
我正在尝试将一些文件附加到输入区域
page.attach_file('image', File.absolute_path('../pictures/picture.JPG'))
当我使用 Capybara.javascript_driver = :selenium
时一切正常,但我只使用 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
时失败?
Is there a specific reason this overlapping element is making the test
fails only with capybara_webkit?
是的,capybara-webkit
只是更诚实。它允许您只与真正可见的元素进行交互。您的文件输入似乎不可见或隐藏,可能只有一部分被隐藏。
测试中通常的解决方案只是使其(元素)可见,例如通过评估 javascript 并更新此 HTML 元素的 css 属性。
我正在尝试将一些文件附加到输入区域
page.attach_file('image', File.absolute_path('../pictures/picture.JPG'))
当我使用 Capybara.javascript_driver = :selenium
时一切正常,但我只使用 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
时失败?
Is there a specific reason this overlapping element is making the test fails only with capybara_webkit?
是的,capybara-webkit
只是更诚实。它允许您只与真正可见的元素进行交互。您的文件输入似乎不可见或隐藏,可能只有一部分被隐藏。
测试中通常的解决方案只是使其(元素)可见,例如通过评估 javascript 并更新此 HTML 元素的 css 属性。