关于webdriver上传文件功能的一些补充

来源:互联网 发布:spss软件如何使用 编辑:程序博客网 时间:2024/06/05 03:10


      最近有同事反应做公司供应商管理平台上传产品的自动化测试时候发现,上传图片 使用  webdriver的 sendkeys不管用,后来从浏览器打开开发者工具看看 这个块的前端代码 发现如下问题:



      开发在这里用了 button  而不是 input 当然这不是关键,关键在与 点击此button后 需要出发一个js事件 ngf-select="choseFile($file,'main')" 然后将图片转成 base64位字节码,并动态添加到当前 的DOM中,而直接调用 webdriver 的sendkys方法 是不会触发button的这个js监听的事件的,自然也就不会出现把图片转成 base64位加密字节码,并动态添加到当前 的DOM中,而是直接出发 file类型控件的添加文件事件,但是,在我们这个后台添加产品的保存功能需要验证 当前页面是否有图片的64位字加密节码的, 如果不存在则提示没有产品图片,添加产品失败,问题就出现了,通过sendkeys上传图片 没有触发相关事件 而导致了 产品无法上传,怎么办 ?

       经过网上一阵子搜,发现使用一个 叫做 autoit的第三方工具可以 实现 模拟在文件选择窗口 输入文件地址并保存的功能,这样我们就可以点击 上传文件按钮 并启动autoIt去操作文件选择窗口上传文件了 ,不知道我们这个开发是怎么想的,不用传统的方式,非要自己造个轮子,唉! auotIt用法网上有资料里就不赘述了,推荐如下 blog地址,此博主大牛做的很不错了:

http://www.cnblogs.com/fnng/p/4188162.html

0 0