大佬教程收集整理的这篇文章主要介绍了测试 – 如何测试使用Capybara和Dropzone.js上传文件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以前我有一个带有输入文件元素的模板:
<input type="file" name="attachments">
测试很简单:
When(/^I upload "([^"]*)"$/) do |filename| attach_file("attachments",File.expand_path(fileName)) # add assertion here end
但是这不再适用,因为Dropzone没有可见的文件输入.
# Upload a file to Dropzone.js def drop_in_dropzone(file_path) # Generate a fake input SELEctor page.execute_script <<-JS fakeFileInput = window.$('<input/>').attr( {id: 'fakeFileInput',type:'file'} ).appendTo('body'); JS # Attach the file to the fake input SELEctor attach_file("fakeFileInput",file_path) # Add the file to a fileList array page.execute_script("var fileList = [fakeFileInput.get(0).files[0]]") # trigger the fake drop event page.execute_script <<-JS var e = jQuery.Event('drop',{ dataTransfer : { files : [fakeFileInput.get(0).files[0]] } }); $('.dropzone')[0].dropzone.listeners[0].events.drop(E); JS end
然后用:
When(/^I upload "([^"]*)"$/) do |filename| drop_in_dropzone File.expand_path(fileName) # add assertion here end
注意:您需要加载jQuery,而Dropzone元素需要dropzone类.
以上是大佬教程为你收集整理的测试 – 如何测试使用Capybara和Dropzone.js上传文件?全部内容,希望文章能够帮你解决测试 – 如何测试使用Capybara和Dropzone.js上传文件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。