如何使用如何使用AutoIT完成单机测试完成单机测试
下面我们来介绍如何使用AutoIT完成单机程序的自动化测试。使用AutoIT完成桌面应用程序的自动化测试,最重要的
是找到识别GUI对象的方法,然后调用AutoIT函数来操纵它或读取它的属性值,并与正确的结果进行比较。AutoIT内置
了大量操作Windows标准控件的方法,可以满足一般应用程序的测试需求。我们还可以通过调用动态库或COM扩展的
方式来扩展AutoIT的功能。
1. 识别窗口的方法
编写自动化脚本的时候,首先要解决的一个问题就是如何(在众多窗口中)准确识别出目标窗口。一般来说,我们常
把窗口的标题(Title)作为它的识别方法。但有时候只给出窗口标题还不够,还要同时给出标题及文件(text)。要获
得某个窗口的标题是件很简单的事情(大多数窗口直接就可以看到),可以使用AutoIt提供的窗口信息工具(AutoIt
Window Info)抓取。大多数窗口的标题都是显而易见的,例如系统自带的记事本程序(notedad.exe),它的默认标
题是“无标题-记事本”,如图所示。窗口标题及其文本是大小写敏感的,包括标点符号在内,我们必须确保它们是完全
匹配的。
AutoIt的大部分窗口函数都有窗口标题和文本参数,比如说下面的WinWaitActive函数。这个函数的功能是使脚本暂停
执行并一直等到指定窗口出现且激活为止。
WinWaitActive(“窗口标题",["窗口文本"],[超时时间])
其中,“窗口标题”是必须指定的参数,而"窗口文本"和"超时时间"是可选参数。不过,也有些函数的窗口文本参数是必
须指定的,如果想省略这个参数,只须指定空字符串("")作为参数即可。在参数窗口文本中指定一个空字符串甚至没
有值(NULL),相当于告诉AutoIt任何文本都是有效的。
下面以记事本窗口为例说明上面提到的函数的两种用法:
WinWaitActive(“无标题-记事本")
或
WinWaitActive(“无标题-记事本","")
2. 窗口句柄
AutoIt中的变量可用来存储窗口句柄(Windows Handles)。所谓窗口句柄是指Windows自动分配给每个新创建的窗口
的特殊值。窗口句柄可用来代替窗口标题参数。使用窗口句柄来代替窗口标题的好处是能够更加精确地识别窗口,例
如,有时候我们会同时打开同一应用程序的多个副本,这些窗口具有完全相同的窗口标题和窗口文本,这时就可以利
用窗口句柄的唯一性来准确地识别所指定的窗口。
很多函数如WinGetHandle、WinList和GUICreate都会返回窗口句柄,示例:
$handle=WinGetHandle(“无标题-记事本”)
WinClose($handle)