我正在尝试使用 Selenium 在 Capybara、Rails 5.2 功能规范中测试文件上传。
我一直在寻找这个并找到了一些建议。其中之一是如何测试使用 Capybara 和 Dropzone.js 上传文件?
但是,这些解决方案适用于 jQuery 和 Dropzone.js。有人对此有解决方案吗?
我正在尝试使用 Selenium 在 Capybara、Rails 5.2 功能规范中测试文件上传。
我一直在寻找这个并找到了一些建议。其中之一是如何测试使用 Capybara 和 Dropzone.js 上传文件?
但是,这些解决方案适用于 jQuery 和 Dropzone.js。有人对此有解决方案吗?
在使用 Capybara 测试应用程序时, 99% 的时间visible: false
作为选项find
表明您做错了什么。
如果您只是在出于样式原因隐藏文件输入时上传文件,那么 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)
神奇的代码:
find('input[type="file"]', visible: false).send_keys \
Rails.root.join('spec', 'resources', 'test.png')