attach_file与capybara-webkit的工作方式不正确

我正在尝试将一些文件附加到此输入:

 

当我使用selenium驱动程序时,我的代码是:

 attach_file('image', File.absolute_path('../pictures/pic1.JPG')) attach_file('image', File.absolute_path('../pictures/pic2.JPG')) attach_file('image', File.absolute_path('../pictures/pic3.JPG')) 

当我使用capybara-webkit时出现问题:由于隐藏了输入并且某些元素与其重叠,我需要更改一些css属性:

 page.execute_script("$('input[name=image]').css('opacity','1')") page.execute_script("$('input[name=image]').css('position','fixed')") page.execute_script("$('input[name=image]').css('top','620px')") 

即使测试通过,图片也不会以正确的方式上传。 如果我使用page.save_screenshot('after_upload.png')来查看发生了什么:

预期结果(使用selenium驱动时的结果) – > 在此处输入图像描述

使用capybara-webkit时的实际结果 – > 在此处输入图像描述

我刚发现一个“修复”:每次上传图像后sleep(3)