自动化测试工具 自动化程序中处理 flash 上传文件

Fred · 2015年03月12日 · 1468 次阅读

本人是一个 selenium webdriver 的初学者,之前对于自动化是一个白痴,不过经过半年的自学和摸索总算是可以将自己所学运用到自己http://testerhome.com/topics/new?node=2#的实际工作上了,在这自学过程也算是痛苦并快乐着,刚开始总算遇到很多问题,步履维艰,经常会碰到无法定位的控件元素。
今天我就在这里讲解个人认为最难解决的控件,flash 上传图片。很多电商为了达到页面和谐完美的效果都会插入一些 flash 控件,虽然页面效果好了但是对于我们这些做自动化测试的人员就苦逼了.

为了实现自动化对 flash 控件的处理我们需要借助第三方工具 autoit3,需要的话可以去百度搜索下载。
安装好后倒入代码库:

from win32com.client import Dispatch
#调用autoit 控件来处理flash文件上传控件
   autoit=Dispatch("AutoItX3.Control")
   autoit.MouseClick("left",557,604,1)
   autoit.Send("D:\\120.jpg")
   autoit.MouseClick("left",503,446,1)

如何精确定位元素所在像素位置,可以用 autoit 自带工具, Autoit window info

说白了很简单就是运用 autoit 工具来控制鼠标移动到 flash 所在位置然后模仿人的点击动作,最大的缺点是可移植性差,如果换台分辨率不同的电脑就需要重新定位。

以上只是本人找到的比较笨的方法,希望对大家有用,若哪位大牛有更好的方法,可以指点指点小弟。

共收到 1 条回复 时间 点赞
匿名 #1 · 2015年03月12日

我们在处理 win 版后台服务器程序安装的时候也是用的 AutoIt,不过是用的 AutoIt 的语法写的,通过控件属性来定位元素进行点击,不要直接用坐标,然后打包成 exe,最后通过 java 来调它

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册