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


      最近有同事反应做公司供应商管理平台上传产品的自动化测试时候发现,上传图片 使用  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值