WEB自动化-上传&下载图片
WEB自动化里面上传和下载图片基本上是用 autoit 这个工具处理的。
对于使用 robotframework + selenium2library + autoit 这样的组合实在是太简单了
首先你需要安装autoitLibrary 和 autoit, 我安装的都是 32位的。
下载图片我们其实在识别验证码的过程中就用到过,我们逐行解释一下:
1. Rmove File 删除已经存在的验证码图片 (需要导入 OperatingSystem)
2. 获取页面titile
3. Win Active 这个是autoit 的关键字,用来激活Windows窗口
4. 获取验证码的x坐标 #Get Horizontal Position
5. 获取验证码的y坐标 #Get Vertical Position
6. 鼠标右键 right click 坐标:x,y
7. 鼠标移到到指定点:100,100 #放置鼠标位置对,右键菜单的影响
8. send #Autoit 关键字,用来发送 ↓ 键头
9. 同8
10. send {ENTER} 模拟回车键
11. sleep 1s
12. win Wait 另存为 #等待另存为的窗口
13. Win Active 另存为 #激活另存为的窗口
14. Control Set Text 空格 空格 Edit1
15. Control Click 空格 空格 Button1 #点击确认
16. sleep 3s #等待3s,让图片下载完
看一下实际case:
Remove File D:\\getCaptcha.jpg
${title} 获取页面标题
Win Active ${title}
${x} 获取水平坐标 id=img-captcha
${y} 获取垂直坐标 id=img-captcha
Mouse Click RIGHT ${x} ${y}
Mouse Move 100 100
send {DOWN}
send {DOWN}
send {ENTER}
sleep 1s
Win Wait 另存为
Win Active 另存为
Control Set Text Edit1 D:\\getCaptcha.jpg
Control Click Button1
sleep 3s
下面再看一下上传图片的例子:
win wait 打开 #等待标题为打开的窗口
win active 打开 #激活标题为打开的窗口
Control Set Text 空格 空格 Edit1 D:\Tools\screen.png #设置需要上传图片的路径
Control Click 空格 空格 Button1 #点击上传按钮
win wait 打开
win active 打开
Control Set Text Edit1 D:\\Tools\\screen.png
Control Click Button1