Robot手工编写GUI脚本如何获取对象识别方法和属性

发表于:2008-08-18来源:作者:点击数: 标签:脚本robotRobot手工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 Ro

以计算器为例,下面的脚本是键盘输入“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”是父子关系。这两个命令的效果完全一样。 

原文转自:http://www.ltesting.net