通过Dropzone以编程方式上传/添加文件,例如作者:Selenium

时间:2016-09-11 05:36:52

标签: javascript selenium dropzone.js

我正在编写一个Selenium测试用例,其中一个步骤是通过Dropzone.js上传文件。

(由于Selenium可以在浏览器中运行Javascript,所以如果它可以在Javascript中以编程方式完成,也可以。)

我想避免一直模拟打开文件浏览器窗口,选择文件等,因为这超出了Web驱动程序可以处理的范围并变得非常复杂。在伪代码中,我想做这样的事情:

1. Select some Dropzone element 2. Set file path 3. Submit (upload the file)

在现有问题(Unable to upload file using python selenium webdriver on http://www.dropzonejs.com)中提到了一种可能的方法,它使用“dz-hidden-input”元素(DOM文件输入)。

不幸的是它不起作用(至少在当前版本的Dropzone中不起作用) - 在将文件设置为元素之后,Dropzone .files仍为空并且不会进行上传。

在查看Dropzone源代码后,我通过扩展上述内容找到了一个有效的解决方案:

1. Set file path in the "dz-hidden-input" element 2. Use javascript to retrieve the File object from the element 3. Pass the file to dropzone.addFile(file)

但我担心的是它真的是一个黑客,因为隐藏输入和.addFile都没有记录,如果Dropzone改变实现等,测试将在未来中断。

有没有更好/有记录的方法来做到这一点?

(澄清 - 我正在尝试上传文件,而不是显示Dropzone常见问题解答中提到的现有文件)

1 个答案:

答案 0 :(得分:1)

点击进入按钮 - >使用网络驱动程序剪贴板/ java机器人 - >粘贴/输入文件位置+文件名>命中机器人进入。

examples:
hour:1,3,2,9,7,5
what i want is :1,2,3,5,7,9
what can i do .thanks