我正在尝试使用硒对Capybara,Rails 5.2功能规范中的文件上传进行测试。
我一直在寻找这个,并找到了一些建议。其中之一是How do you test uploading a file with Capybara and Dropzone.js?
但是,这些解决方案适用于jQuery和Dropzone.js。有人对此有解决方案吗?
答案 0 :(得分:0)
99%的时间通过visible: false
作为find
的选项表示使用Capybara测试应用程序时做错了事。
如果您试图做的就是在出于样式原因而隐藏文件输入时上传文件,则Capybara文档会提供所有所需信息-https://www.rubydoc.info/gems/capybara/Capybara/Node/Actions#attach_file-instance_method-以及专门用于处理这种情况的选项>
attach_file(Rails.root.join('spec', 'resources', 'test.png'), make_visible: true)
答案 1 :(得分:-1)
魔术代码:
find('input[type="file"]', visible: false).send_keys \
Rails.root.join('spec', 'resources', 'test.png')