autoit

时间:2024-09-01 07:42:19编辑:莆田seo君

电脑每次开机的时候,总会出现autoit错误

1、win7开机提示,AutoIt错误 不能打开脚本文件,这是因为系统启动项注册表有问题,所以不能加载。提示如图2、此时需要运行命令窗,直接按win+r 打开,或者在开始菜单打开,3、运行命令窗之后,直接按win+r 打开,或者在开始菜单打开,输入“msconfig”,鼠标单击确定4、确定之后,打开系统配置窗口,鼠标单击启动,进入下一步设置5、启动界面下,启动项目前面小框全部不打勾,或者只保留输入法即可,如图6、选择好禁用其他启动项,确定退出即可。

Autoit脚本中MouseClick有时可以能有时不能在任务栏中点击

您好~AutoIt的MouseClick函数是用来模拟鼠标点击的操作,如果该函数有时可以成功点击任务栏,有时却不能点击,则可能有以下原因:1. 点击任务栏的位置不准确。鼠标点击操作需要指定点击的位置坐标,如果位置不准确,就会导致点击失败。可以通过给MouseClick函数传递正确的X和Y坐标来解决。2. 窗口被其他窗口遮挡。如果任务栏的窗口被其他窗口遮挡,就无法点击。可以通过将窗口置顶的方式,将任务栏窗口置于顶层,然后再进行点击操作。3. 窗口被锁定。如果任务栏的窗口被锁定,就无法进行鼠标点击操作。可以尝试解锁窗口,然后再进行点击操作。4. 程序错误。MouseClick函数也可能存在问题,可以考虑使用其他的鼠标操作函数替代它,比如MouseClickDrag。总之,需要仔细分析原因,逐一排查,才能解决无法点击任务栏的问题。【摘要】
Autoit脚本中MouseClick有时可以能有时不能在任务栏中点击【提问】
您好~AutoIt的MouseClick函数是用来模拟鼠标点击的操作,如果该函数有时可以成功点击任务栏,有时却不能点击,则可能有以下原因:1. 点击任务栏的位置不准确。鼠标点击操作需要指定点击的位置坐标,如果位置不准确,就会导致点击失败。可以通过给MouseClick函数传递正确的X和Y坐标来解决。2. 窗口被其他窗口遮挡。如果任务栏的窗口被其他窗口遮挡,就无法点击。可以通过将窗口置顶的方式,将任务栏窗口置于顶层,然后再进行点击操作。3. 窗口被锁定。如果任务栏的窗口被锁定,就无法进行鼠标点击操作。可以尝试解锁窗口,然后再进行点击操作。4. 程序错误。MouseClick函数也可能存在问题,可以考虑使用其他的鼠标操作函数替代它,比如MouseClickDrag。总之,需要仔细分析原因,逐一排查,才能解决无法点击任务栏的问题。【回答】
怎么将任务栏置顶【提问】
亲在 Windows 操作系统中,您可以通过以下步骤将任务栏置顶:1. 右键单击任务栏空白处,选择“任务栏设置”。2. 找到“任务栏位置”选项,开启“锁定任务栏”和“使用小任务栏”选项。3. 打开您想要置顶的窗口,在窗口上右键单击并选择“属性”。4. 在弹出的窗口中选择“常规”选项卡,选择“置顶”并点击“确定”按钮。之后,您可以尝试调整窗口大小和位置,以便更好地显示任务栏。如果您想要取消任务栏的置顶状态,可以重复以上步骤并将“置顶”选项取消勾选即可。【回答】


开机提示autoit error,怎么办?

是一个插件,Google自动升级用的,可以把他关掉,没有影响的。在360电脑优化里面勾掉。也可以在开始菜单中 运行 输入msconfig,在启动菜单中 将GoogleUpdate 前面的 勾 去掉 然后确定。在任务管理器中 进程 将GoogleUpdate.exe 结束就ok了。“开机提醒”业务,是为主叫用户提供的一种新型呼叫提醒类业务。当您呼叫别人的时候,如果对方的手机处于关机或不在服务区的状态,系统会将该呼叫记录下来;当对方开机或回到服务区的时候,系统会自动给您发一条提示短信,告诉您曾经呼叫过的对方已经开机或重新回到了服务区,您可以跟他(她)取得联系了。解决了主叫用户所关心的被叫开机状态问题,再也无需在被叫不可及情况下不时拨打对方电话了。在可以联系上对方的时候,能够及时得到提醒帮助,有助于提高用户服务满意度;还具备事件提醒作用,有效帮助用户处理因为对方关机而未接洽的事宜,提高用户的新业务感知;有了开机提醒,既可以避免给别人(来电提醒用户)留下一串烦人的短信提示,还可以自主掌握再次联系对方的时机;在单向收费已经成为发展趋势的情况下,继续挖掘主叫话务量,尤其是跨网主叫话务量,为运营商继续提升业务收入提供有效帮助;给予用[3] 户关于对方开机的提醒帮助,还可以减少和降低不必要试呼,有助于提升网络利用率。

如何使用AutoIT完成单机测试

1. 识别窗口的方法

编写自动化脚本的时候,首先要解决的一个问题就是如何(在众多窗口中)准确识别出目标窗口。一般来说,我们常把窗口的标题(Title)作为它的识别方法。但有时候只给出窗口标题还不够,还要同时给出标题及文件(text)。要获得某个窗口的标题是件很简单的事情(大多数窗口直接就可以看到),可以使用AutoIt提供的窗口信息工具(AutoIt Window Info)抓取。大多数窗口的标题都是显而易见的,例如系统自带的记事本程序(notedad.exe),它的默认标题是“无标题-记事本”,如图所示。窗口标题及其文本是大小写敏感的,包括标点符号在内,我们必须确保它们是完全匹配的。



AutoIt的大部分窗口函数都有窗口标题和文本参数,比如说下面的WinWaitActive函数。这个函数的功能是使脚本暂停执行并一直等到指定窗口出现且激活为止。

1
WinWaitActive(“窗口标题",["窗口文本"],[超时时间])
其中,“窗口标题”是必须指定的参数,而"窗口文本"和"超时时间"都是可选参数。不过,也有些函数的窗口文本参数是必须指定的,如果想省略这个参数,只须指定空字符串("")作为参数即可。在参数窗口文本中指定一个空字符串甚至没有值(NULL),相当于告诉AutoIt任何文本都是有效的。



下面以记事本窗口为例说明上面提到的函数的两种用法:

1
2
3
WinWaitActive(“无标题-记事本")

WinWaitActive(“无标题-记事本","")


2. 窗口句柄

AutoIt中的变量可用来存储窗口句柄(Windows Handles)。所谓窗口句柄是指Windows自动分配给每个新创建的窗口的特殊值。窗口句柄可用来代替窗口标题参数。使用窗口句柄来代替窗口标题的好处是能够更加精确地识别窗口,例如,有时候我们会同时打开同一应用程序的多个副本,这些窗口具有完全相同的窗口标题和窗口文本,这时就可以利用窗口句柄的唯一性来准确地识别所指定的窗口。

很多函数如WinGetHandle、WinList和GUICreate都会返回窗口句柄,示例:

1
2
$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控件:

1
ControlSend(“无标题-记事本”,"","[CLASS:Edit;INSTANCE:1]”,"这是一些文本")


1
ControlSend(“无标题-记事本","","[CLASSNN:Edit1]”,"这是一些文本")


1
ControlSend(“无标题-记事本","","Edit1”,"这是一些文本")
单击“我的窗口”里面的控件,得到控件ID 254,就可以直接使用ID:

1
ControlClick(“我的窗口","","[ID:254]")


1
ControlClick(“我的窗口","",254)
例如单击第2个包含“完成”文本的按钮,就使用组合方法:

1
ControlClick(“我的窗口","","[CLASS:Button;TEXT:”完成";INSTANCE:2]")
如果要获得某个控件的句柄可使用ControlGetHandle函数。控件句柄是Windows赋予控件的独一无二的标识符,即每个被创建的控件都具有不同的句柄。示例如下:

1
$handle=ControlGetHandle(“Untitled- Notepad”,"","Edit1")


4. 操作窗口和控件

确定了窗口和控件的识别方法之后,我们就可以使用AutoIt提供的函数来完成对窗口和控件的操作。常用的函数如下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
激活指定的窗口(设置焦点到该窗口,使其成为活动窗口)
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.验证

在完成测试用例的操作步骤之后,黑盒测试方法主要是通过检查和比较软件的输出结果(包括界面、文件、数据等)来验证测试的结果,判断软件是否存在缺陷。软件界面的检查主要是检查软件窗口和控件的各种状态、标题、文本和图片等信息,并将检查结果写入最终的测试报告中,以供分析。

5.1 验证窗口、控件状态常用的方法

1
2
3
4
5
6
7
8
9
10
获取窗口控件的坐标位置和大小等:
WinGetPos("窗口标题"[,"窗口文本"]) ;用于窗口
ControlGetPos("窗口标题","窗口文本",控件ID) ;用于控件

获取窗口控件的状态(包括是否可见、是否激活、最大化、最小化等):
WinGetSate("窗口标题"[,"窗口文本"]) ;用于窗口
ControlCommand("窗口标题","窗口文本",控件ID,选项) ;用于控件

检查窗口是否存在
WinExists("窗口标题"[,”窗口文本”])


5.2 验证窗口、控件文本常用的方法

1
2
3
4
5
6
7
8
获取窗口的完整标题名:
WinGetTitle("窗口标题"[,"窗口文本"])

获取窗口中的文本:
WinGetText("窗口标题"[,"窗口文本"])

获取控件上的文本:
ControlGetText("窗口标题","窗口文本",控件ID)


5.3 验证图片或显示效果的常用的方法

AutoIt没有提供图像比较函数,须要自己开发相应的函数。如果不准备开发这方面的功能,就只有将要检查的图像或效果用截屏的方法保存下来,并附在测试报告中,让测试人员事后人工分析。

截取整个屏幕或指定区域:

1
2
3
4
5
_ScreenCapture_Capture("C:\Image1.jpg")

_ScreenCapture_Capture("C:\Image1.jpg",0,0,796,596)

_ScreenCapture_CaptureWnd("C:\Image1.jpg",窗口句柄)
事例:

1
2
3
4
#include
;用来保存图像的路径和文件名
$file="c:\ScreenCapture"&@MON & @MDAY & @HOUR & @MIN & @SEC&" .jpg"
_ScreenCapture_Capture($file);并保存到文件中


5.4 验证文件常用的方法

1
2
3
4
5
6
7
8
检查文件是否存在:
FileExists("路径")

获取文件大小:
FileGetSize("路径")

获取文件基本属性(包括只读,隐藏等):
FileGetAttrib("路径")


5.5 其他验证

1
2
3
4
5
返回当前鼠标指针形状的ID:
MouseGetCursor()

获取当前鼠标的坐标位置:
MouseGetPos([dimension])


6. 实例

下面这个脚本实例演示了如何打开计算器、找到计算器窗口、操作计算器完成“1+2”的计算和验证,并将检查的结果写入测试报告中。

脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Run("calc.exe")
WinWaitActive("计算器")
ControlClick("计算器","","1")
ControlClick("计算器","","+")
ControlClick("计算器","","2")
ControlClick("计算器","","=")

$Result=ControlGetText("计算器","",403)
if $Result=="3. " Then
FileWriteLine("C:\result.txt","正确:和期望结果3一致")
Else
FileWriteLine("C:\result.txt","错误:和期望结果3不一致,实际结果结果为"&$Result)
EndIf
WinClose("计算器")


如何使用AutoIT完成单机测试

1. 识别窗口的方法

编写自动化脚本的时候,首先要解决的一个问题就是如何(在众多窗口中)准确识别出目标窗口。一般来说,我们常把窗口的标题(Title)作为它的识别方法。但有时候只给出窗口标题还不够,还要同时给出标题及文件(text)。要获得某个窗口的标题是件很简单的事情(大多数窗口直接就可以看到),可以使用AutoIt提供的窗口信息工具(AutoIt Window Info)抓取。大多数窗口的标题都是显而易见的,例如系统自带的记事本程序(notedad.exe),它的默认标题是“无标题-记事本”,如图所示。窗口标题及其文本是大小写敏感的,包括标点符号在内,我们必须确保它们是完全匹配的。

AutoIt的大部分窗口函数都有窗口标题和文本参数,比如说下面的WinWaitActive函数。这个函数的功能是使脚本暂停执行并一直等到指定窗口出现且激活为止。

1
WinWaitActive(“窗口标题",["窗口文本"],[超时时间])
其中,“窗口标题”是必须指定的参数,而"窗口文本"和"超时时间"都是可选参数。不过,也有些函数的窗口文本参数是必须指定的,如果想省略这个参数,只须指定空字符串("")作为参数即可。在参数窗口文本中指定一个空字符串甚至没有值(NULL),相当于告诉AutoIt任何文本都是有效的。

下面以记事本窗口为例说明上面提到的函数的两种用法:

1
2
3
WinWaitActive(“无标题-记事本")

WinWaitActive(“无标题-记事本","")

2. 窗口句柄

AutoIt中的变量可用来存储窗口句柄(Windows Handles)。所谓窗口句柄是指Windows自动分配给每个新创建的窗口的特殊值。窗口句柄可用来代替窗口标题参数。使用窗口句柄来代替窗口标题的好处是能够更加精确地识别窗口,例如,有时候我们会同时打开同一应用程序的多个副本,这些窗口具有完全相同的窗口标题和窗口文本,这时就可以利用窗口句柄的唯一性来准确地识别所指定的窗口。

很多函数如WinGetHandle、WinList和GUICreate都会返回窗口句柄,示例:

1
2
$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控件:

1
ControlSend(“无标题-记事本”,"","[CLASS:Edit;INSTANCE:1]”,"这是一些文本")


1
ControlSend(“无标题-记事本","","[CLASSNN:Edit1]”,"这是一些文本")


1
ControlSend(“无标题-记事本","","Edit1”,"这是一些文本")
单击“我的窗口”里面的控件,得到控件ID 254,就可以直接使用ID:

1
ControlClick(“我的窗口","","[ID:254]")


1
ControlClick(“我的窗口","",254)
例如单击第2个包含“完成”文本的按钮,就使用组合方法:

1
ControlClick(“我的窗口","","[CLASS:Button;TEXT:”完成";INSTANCE:2]")
如果要获得某个控件的句柄可使用ControlGetHandle函数。控件句柄是Windows赋予控件的独一无二的标识符,即每个被创建的控件都具有不同的句柄。示例如下:

1
$handle=ControlGetHandle(“Untitled- Notepad”,"","Edit1")

4. 操作窗口和控件

确定了窗口和控件的识别方法之后,我们就可以使用AutoIt提供的函数来完成对窗口和控件的操作。常用的函数如下。


上一篇:命运筛子

下一篇:洛克王国火系精灵王