如何使用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)
注意:不管当前的WinTitleMatchMode被设置为何种模式,窗口句柄始终可用。
3. 识别控件的方法
&&&&& AutoIt提供了直接操作控件的功能。窗口上能看到的东西大多数都是以下控件中的一种:按钮、列表框、文本编辑框、静态文本等。例如,系统自带的记事本程序的主窗口也只是一个相对而言比较大的&编辑框(Edit)&控件罢了。正因为AutoIt提供了直接对控件操作的功能,我们再也不须要使用模拟键击等低级的方法来操作窗口了,这使得实现对窗口操作的脚本更加可靠。
AutoIt主要支持标准的Microosft控件。有些应用程序使用了大量的自定义控件,很像是标准的MS控件,但却无法被脚本程序识别,就需要特别的办法来解决。
在使用Control&()函数时,一些控件描述必须提供ControlID。通过这些描述才能正确识别控件。这些描述包括:
ID,内部控件的ID;
TEXT,控件文本,如"下一步"按钮;
CLASS,内部控件的类的名称,如"Edit"或"Button";
INSTANCE,枚举;
CLASSNN,类别名,如"Edit1";
&&&&& 以上的属性可以单独使用,也可以组合起来使用。具体使用哪一种属性,主要依据个人喜欢及从AutoIt窗口信息工具所获得的信息类型。一般而言,最好的方法就是使用控件ID,但如果控件ID无法获得或靠控件ID还不足以保证能识别目标控件,那么就须要使用其他的属性,或者属性的组合。
例如,发送文本到记事本的第1个Edit控件:
ControlSend(&无标题-记事本&,"","[CLASS:EINSTANCE:1]&,"这是一些文本")
ControlSend(&无标题-记事本","","[CLASSNN:Edit1]&,"这是一些文本")
ControlSend(&无标题-记事本","","Edit1&,"这是一些文本")
单击&我的窗口&里面的控件,得到控件ID 254,就可以直接使用ID:
ControlClick(&我的窗口","","[ID:254]")
ControlClick(&我的窗口","",254)
例如单击第2个包含&完成&文本的按钮,就使用组合方法:
ControlClick(&我的窗口","","[CLASS:BTEXT:&完成";INSTANCE:2]")
如果要获得某个控件的句柄可使用ControlGetHandle函数。控件句柄是Windows赋予控件的独一无二的标识符,即每个被创建的控件都具有不同的句柄。示例如下:
$handle=ControlGetHandle(&Untitled- Notepad&,"","Edit1")
4. 操作窗口和控件
确定了窗口和控件的识别方法之后,我们就可以使用AutoIt提供的函数来完成对窗口和控件的操作。常用的函数如下。
激活指定的窗口(设置焦点到该窗口,使其成为活动窗口)
WinActive("窗口标题"[,"窗口文本"])
关闭指定窗口
WinClose("窗口标题"[,"窗口文本"])
移动指定的窗口或调整窗口的大小
WinMove("窗口标题","窗口文本"],X坐标,Y坐标[,宽度,[,高度[,速度]]])
显示、隐藏、最小化、最大化或还原某个窗口
WinSetState("窗口标题","窗口文本",标志)
向指定控件发送鼠标点击命令:
ControlClick("窗口标题","窗口文本&,控件ID[,按键[,点击次数[,X坐标[,Y坐标]]]])
向指定控件发送命令:
ControlCommand("窗口标题","窗口文本",控件ID,"命令"[,"选项"])
设置输入焦点到指定窗口的某个控件上:
ControlFocus("窗口标题","窗口文本",控件ID)
向指定的控件发送字符串:
ControlSend("窗口标题","窗口文本",控件ID,"字符串"[,标志])
修改指定控件的文本:
ControlSetText("窗口标题","窗口文本",控件ID,"新文本",标志)
向激活窗口发送模拟键击操作:
Send("按键"[,标志])
执行鼠标点击操作:
MouseClick("按钮"[,X坐标,Y坐标[,点击次数[,速度]]] )
执行鼠标拖拽操作:
MouseClickDrag("按钮",X1坐标,Y1坐标,X2坐标,Y2坐标[,速度])
&&&&&& 在完成测试用例的操作步骤之后,黑盒测试方法主要是通过检查和比较软件的输出结果(包括界面、文件、数据等)来验证测试的结果,判断软件是否存在缺陷。软件界面的检查主要是检查软件窗口和控件的各种状态、标题、文本和图片等信息,并将检查结果写入最终的测试报告中,以供分析。
5.1&& 验证窗口、控件状态常用的方法
获取窗口控件的坐标位置和大小等:
WinGetPos("窗口标题"[,"窗口文本"])用于窗口
ControlGetPos("窗口标题","窗口文本",控件ID)用于控件
获取窗口控件的状态(包括是否可见、是否激活、最大化、最小化等):
WinGetSate("窗口标题"[,"窗口文本"])用于窗口
ControlCommand("窗口标题","窗口文本",控件ID,选项)用于控件
检查窗口是否存在
WinExists("窗口标题"[,&窗口文本&])
5.2 验证窗口、控件文本常用的方法
获取窗口的完整标题名:
WinGetTitle("窗口标题"[,"窗口文本"])
获取窗口中的文本:
WinGetText("窗口标题"[,"窗口文本"])
获取控件上的文本:
ControlGetText("窗口标题","窗口文本",控件ID)
5.3 验证图片或显示效果的常用的方法
&&&&&& AutoIt没有提供图像比较函数,须要自己开发相应的函数。如果不准备开发这方面的功能,就只有将要检查的图像或效果用截屏的方法保存下来,并附在测试报告中,让测试人员事后人工分析。
截取整个屏幕或指定区域:
_ScreenCapture_Capture("C:\Image1.jpg")
_ScreenCapture_Capture("C:\Image1.jpg",0,0,796,596)
_ScreenCapture_CaptureWnd("C:\Image1.jpg",窗口句柄)
#include &ScreenCapture.au3&
;用来保存图像的路径和文件名
$file="c:\ScreenCapture"&@MON & @MDAY & @HOUR & @MIN & @SEC&" .jpg"
_ScreenCapture_Capture($file);并保存到文件中
5.4 验证文件常用的方法
检查文件是否存在:
FileExists("路径")
获取文件大小:
FileGetSize("路径")
获取文件基本属性(包括只读,隐藏等):
FileGetAttrib("路径")
5.5 其他验证
返回当前鼠标指针形状的ID:
MouseGetCursor()
获取当前鼠标的坐标位置:
MouseGetPos([dimension])
下面这个脚本实例演示了如何打开计算器、找到计算器窗口、操作计算器完成&1+2&的计算和验证,并将检查的结果写入测试报告中。
脚本如下:
Run("calc.exe")
WinWaitActive("计算器")
ControlClick("计算器","","1")
ControlClick("计算器","","+")
ControlClick("计算器","","2")
ControlClick("计算器","","=")
$Result=ControlGetText("计算器","",403)
if $Result=="3. " Then
FileWriteLine("C:\result.txt","正确:和期望结果3一致")
FileWriteLine("C:\result.txt","错误:和期望结果3不一致,实际结果结果为"&$Result)
WinClose("计算器")
阅读(...) 评论()> RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)停安装及简单使用
RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)停安装及简单使用
lhblion & &
发布时间: & &
浏览:144 & &
回复:0 & &
悬赏:0.0希赛币
RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)下安装及简单使用  最近安装AutoItLibrary,发现在win7&x64下无法安装成功,后来经过定位,发现是3rdPartyTools\AutoIt目录下面AutoItX3.dll的问题。因为AutoItX3.dll是32位的,所以我就在网上搜索了一个64位的dll去替代。再次安装就没有问题了。
  针对AutoItLibrary,我进行以下3个修改:
  1.&AutoItX3.dll替换为64位的,使其支持win7&x64
  2.&修改AutoItLibrary自带用例,支持win7中文环境运行
  3.&使用robotframework本身的ScreenshotLibrary&取代AutoItLibrary中截图
  一、安装
  1. 安装python2.7和robotframework,参考
  2. 安装python对windows的扩展pywin32-218.win-amd64-py2.7.exe,下载地址:
  3. 安装Pillow,以便使用ScreenshotLibrary ,下载地址:
  4. 安装AutoItLibrary,下载地址:
  ①解压压缩包后,在dos命令下,进入到解压的AutoItLibrary目录;
  ②执行python setup.py install&
  5. 安装检查
  ①在创建一个测试套(suite),并在Setting中导入AutoItLibrary和Screenshot
  ②按F5,可以看到AutoItLibrary和Screenshot,表明安装成功
  二、AutoItLibrary自带计算器用例运行
  AutoItLibrary安装完成后,会在C盘下生成C:\RobotFramework文件夹,用例就在C:\RobotFramework\Extensions\AutoItLibrary下面。
  ①进入C:\RobotFramework\Extensions\AutoItLibrary\,你会看到有test_cn和test_en两个文件夹,test_cn是可以运行在win7中文环境下的,test_en则是英文环境。
  ②进入test_cn,双击RobotIDE.bat,然后运行用例就ok了。
  ③运行完用例,查看log.html,可以看到Screenshot截图
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&您的位置: &
基于AutoIt3的机房软件自动安装
优质期刊推荐您所在的位置:
&AutoIt(自动安装脚本编写工具)V3.3.14.1官方版
点击查看大图
大小:11.6 MB
语言:英文
授权:免费软件
平台:////
AutoIt软件介绍
&&&&& AutoIt是一个使用类似BASIC脚本语言的免费软件,AutoIt被设计用于Windows GUI(图形用户界面)中进行自动化操作。利用模拟键盘按键,鼠标移动和窗口、控件的组合来实现自动化任务。而这是其它语言不可能做到或没有可靠方法实现自动化任务(例如VBScript和SendKeys)。
&&&&& AutoIt最初是为PC(个人电脑)对数千台PC进行配置的“批量处理”而设计,不过随着v3版本的到来它也很适合用于家庭自动化和编写用以完成重复性任务的脚本。
AutoIt可以做的事:
运行Windows和Dos程序
模拟键击动作(支持大多数键盘布局)
模拟鼠标移动和点击动作
对窗口进行移动,整大小和其它操作
直接与窗口的“控件“交互(设置/获取文本,移动,关闭等等)
配合剪贴板进行剪切/粘贴文本操作
对注册表进行操作
不同于AutoIt v2版本,新的v3版本有更多标准语法-类似于VBScript和BASIC-而且现在支持更复杂的表达式,用户函数,循环以及脚本编写老手们所期待的其它所有内容.
正如以前版本一样,AutoIt设计得尽可能的小(大约115KB)并且不用依赖外部DLL文件或添加注册表项目即可独立运行.此外使用 Aut2Exe 这个工具还可以把脚本文件编译为独立的可执行程序.
同时升级了ActiveX和DLL版本在AutoIt里称为 AutoItX - 与v2版本不同的是它将是一个组合控件 (COM组件对象模型和同一DLL文件中的标准DLL函数).AutoItX 将允许您加入一些AutoIt独有的特性到您最常用的脚本语言或程序设计语言中去!请查看这AutoItX帮助文件 (开始 程序 AutoIt v3 Extras AutoItX AutoItX Help File) 以获得更多信息和示例.
下载吧提示您:由于AutoIt程序的特殊性,可能部分文件被报毒,请您判断后斟酌是否下载。
AutoIt同类推荐
AutoIt相关教程
AutoIt下载地址
514639次下载
61319次下载
25980次下载
19097次下载
174768次下载
13167次下载
528811次下载
61026次下载
81719次下载
2841次下载
1404237次下载
1371489次下载
1257280次下载
959054次下载
604441次下载
528811次下载
514639次下载
513821次下载
466077次下载
454435次下载
热门关键字

我要回帖

更多关于 dnf单机一键完成任务 的文章

 

随机推荐