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

attach_file isn't working the right way with capybara-webkit

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

<input type="file" name="image" multiple="" accept="image/*">

当我使用 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 ->

时的实际结果

我刚找到一个"fix":在每张图片上传后放一个sleep(3)