海龙 2004-5-11 10:56
Robot手工编写GUI脚本如何获取对象识别方法和属性
以计算器为例,下面的脚本是键盘输入“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
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”是父子关系。这两个命令的效果完全一样。
hover_heaven 2005-3-11 22:34
你上面说我还是有些看的比较糊涂,在这里我只想提出一个问题,就是是否可以直接在robot中编写GUI脚本,编写过程中是否有类型于VB的函数类库调用提示;如果在其他编辑工具中编写GUI脚本,如何导入到robot中!谢谢!
floatingleaf 2005-6-30 11:24
那么请问怎么识别删除确认窗口?
josewu2008 2007-12-8 21:06
ATL 控件 robot 可以识别么 除了鼠标定位?
aaronyan911 2008-5-16 17:03
学习中......:time: