以计算器为例,下面的脚本是键盘输入“1+1=”,然后关闭计算器。
Sub Main
Dim Result As Integer
StartApplication "C:\WINNT\system32\calc.exe"
Window SetContext, "Caption=计算器", ""
InputKeys "1{+}1{ENTER}"
Window CloseWin, "", ""
End Sub
javascript:;" onClick="javascript:tagshow(event, 'Robot');" target="_self">Robot提供了获取对象识别方法和属性的利器――Inspector。通过Robot tools-Inspector..打开。现在使用SQAGetProperty命令获取1+1的结果值,并通过msgbox显示该值。
鼠标左键按住Inspectot工具栏上的“Select Objcet”按钮,然后选择计算器的结果放开鼠标左键。Inspectot中显示出对象的识别方法,鼠标左键点击工具栏上的“Copy recognition String”按钮拷贝识别方法,属性值通过选择Inspector左下角窗口中的Text属性,然后鼠标左键点击工具栏上的“Copy”按钮拷贝属性。修改后的脚本如下:
Sub Main
Dim Result As Integer
Dim sum as Variant
StartApplication "C:\WINNT\system32\calc.exe"
Window SetContext, "Caption=计算器", ""
InputKeys "1{+}1{ENTER}"
Result = SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum)
msgbox sum
Window CloseWin, "", ""
End Sub
VU脚本是类C语言,区分大小写。所以在获取识别方法和属性值时最好的方法就是使用Inspector。
自己编写脚本时,还有一个要注意的问题是窗口上下文,窗口上下文不正确会导致回放时找不到对象。上面的脚本中Window SetContext, "Caption=计算器", ""下面的操作都是在这个窗口上进行的。编写脚本时一定注意看一下窗口上下文是否正确。
也可以在识别方法中指定窗口上下文,如Result = SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum)可以改成Result = SQAGetProperty ("\;Type=Window;Caption=计算器;\;Type=Label;ObjectIndex=1", "Text", sum),第一个“\”代表桌面,“Type=Window;Caption=计算器”是计算器窗口,第二个“\”代表“Type=Window;Caption=计算器”和“Type=Label;ObjectIndex=1”是父子关系。这两个命令的效果完全一样。