问题源:
在开始招商选品UI自动化测试的时候,遇到了许多的上传和下载的功能验证
在selenium上上传下载弹出框一直是个无法解决的问题
此时autoit出现了,autoit是一款专门用来处理GUI的自动化测试开源工具
1、第一次亲密接触
初次尝试使用autoit时,遇到了非常棘手的问题,即通过watir-webdriver的click方法点击弹出的上传框,autoit无法识别该上传谈框,
通过各种途径查找问题原因得到的结果是:进程阻塞的问题
2、曲线救国
当时无法找到解决这个进程阻塞的问题,就来了个曲线救国
即如上图所示:先让autoit识别浏览器这个窗口,然后根据坐标定位的方式点击下图中的【导入清单】按钮,此种方式点击弹出的上传弹框是能够被autoit识别的
注:autoit是不能识别浏览器里面的元素的
3、皆大欢喜
使用此种方式用了一段时间,但该方法是有个很大的弊端的,就是坐标的问题,浏览器窗口像素有变动的话,经常性点击失败
在一个技术交流群里面,得到以为大师指点,使用Thread.new新建一个线程点击【导入清单】
但是对于线程的只停留在概念上,通过百度,了解了下ruby的Thread.new的使用。
实地操作后,成功解决了这个困扰我已久的问题。
具体实现代码如下: