分享

AutoIT自动化测试进阶(让AutoIT实现flash自动化测试)

 quasiceo 2014-07-10

AutoIT自动化测试进阶(让AutoIT实现flash自动化测试)

下载此文本文档

autoit自动化测试进阶(让autoit实现flash自动化测试)
第1页/共1页
文本预览:

让AutoIT实现flash自动化测试

目前市面上已经有不少针对flash的自动化测试工具了,但绝大多数都需要在待测flash编译的时候引用指定的SWC包,这样工具在实施自动化的时候才能触发flash组件中的事件。有没有不重新编译flash而直接进行自动化的测试呢。有!必须有!肯定有。 之前看到很多关于使用sikuli和某些web自动化测试工具结合实现flash的自动化测试的介绍。但是sikuli那套东西也无非是实现了flash上控件的定位和操作,对于检查点的处理却不是很好,并且sikuli开发出的脚本稳定性方面并不是特别好。这些文章从技术上论证了sikuli结合web自动化测试工具实现flash自动化测试的可行性,其实也提供了一种思路:暴力实现自动化测试。

何谓暴力,暴力就是采用某种编程方式把鼠标移到flash的某个位置,然后向这个位置发送点击命令。这就是暴力。Sikuli就是靠截获的图片在flash中找到这样的一个位置,然后发送相应的指令,因此它是一种暴力的方法。其实AutoIT也能按照这样的思路实现对flash的自动化测试,不同于sikuli的是,AutoIT需要通过坐标来定位。看如下代码: Local $pos = MouseGetPos()

这句脚本的作用是获取当前鼠标在屏幕中的坐标。获取到这个坐标之后,我们就可以进行相应的操作了,比如:

MouseClick("",917,682)

send("abcd")

也就是说,我们可以先使用MouseGetPos()来获取到所有需要点击或者操作的控件的位置。然后使用MouseClick、send等实现具体的操作。

至此,像sikuli一样使用AutoIT实现了对flash的操作。那么怎么检查操作的结果呢,也就是检查点呢?我这里提供一种思路:使用OCR引擎。使用AutoIT对需要检查的部分进行截图。比如当向flash中输入了错误的用户账号,flash输入框后面会出现“用户账号不正确”。那么可以使用AutoIT截取这个提示信息,形成图片,然后交给OCR引擎进行识别。运气好的话,OCR引擎可以识别出这段文字。运气不好的话,也没有关系,我们把识别出的结果作为预期结果(不管它识别成了什么)。下次执行自动化测试脚本之后,可以将下次截图并通过OCR引擎识别的结果与本次识别的结果(预期结果)进行对比。这个思路其实也是借鉴了sikuli的思想,实现起来也没有什么技术难点。(对于OCR引擎的使用方法,可以参见我之前的文章“AutoIT自动化之OCR解决验证码识别”)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多