一般上传图片方法采取方案如下:
- input标签的file类型上传图片,使用对象的sendkeys+路径方法
- 使用js注入,再用使用对象的sendkeys+路径方法
- 使用autolt生成的exe,打开对话框执行这个生成的exe
- 脱离autolt上传,sendkeys方法,直接用鼠标键盘事件即可
前几日做脚本开发任务,遇到一个很坑的问题,就是上传图片不是标准的上传控件,用的是百度的上传控件,我用三个方案本地都实现了图片上传,都远程机回归测试遇到了一个坑,就是远程机执行回归测试,都会报错找不到文件或者干脆autolt或者键盘事件不执行,后来我发现个更神奇的事,就是你看着脚本执行,鼠标放到远程机对话框中,运行就通过了,后来查了度娘,知道原因了,jenkins调度上传图片的autolt生成的exe或者鼠标组合事件都因为权限不够不执行,但是我还是想把它完成。
解决方案:
- 先点击打开选择图片对话框
- nput标签的file类型上传图片,使用对象的sendkeys+路径方法
- 关闭选择图片对话框
- 成功上传图片了
提示:必须杀掉上传图片对话框的进程,要么还是不好使