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)
!
我正在尝试将一些文件附加到此输入:
<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)
!