不要追求绝对的公平,红尘之中没有公平而言,人活一世,难得糊涂。                                           it is no use doing what you like, you have got to like what you do.

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

上一篇 / 下一篇  2006-12-22 09:13:41 / 个人分类:Robot技术

Robot手工编写GUI脚本如何获取对象识别方法和属性
M3g4SRd!X q9c051Testing软件测试网/fXE$Q*X#MCD
作者:海龙51Testing软件测试网dR~$h xV6?

iR|~?ZT&T-Z3vFu051Testing软件测试网9} `2w6AZ7Hj`
   
B4p"Z+a_0w1M&I0
k5S0Dc.O9c0以计算器为例,下面的脚本是键盘输入“1+1=”,然后关闭计算器。
Mo:b5Y|:?9eM G$r0Sub Main
T/W/j%KW:m~*|8z0    Dim Result As Integer
BMJ.[e y0
9K ZO"s+eq0    StartApplication "C:\WINNT\system32\calc.exe"51Testing软件测试网ZY&t-~ } ]ys
  51Testing软件测试网fd X mn
    Window SetContext, "Caption=计算器", ""51Testing软件测试网gr(lXZf^?'K
    InputKeys "1{+}1{ENTER}"51Testing软件测试网!jqs;Vd:`m%C8k5gw~%O
    Window CloseWin, "", ""
uZJ9p g5gT0
!z!K`M_/e+_&r0End Sub
x#V1w/q.W;E|0  51Testing软件测试网E4i0D$`$O-]|
    Robot提供了获取对象识别方法和属性的利器――Inspector。通过Robot tools-Inspector..打开。现在使用SQAGetProperty命令获取1+1的结果值,并通过msgbox显示该值。51Testing软件测试网P%BPfN$_(BB?0f
    鼠标左键按住Inspectot工具栏上的“Select Objcet”按钮,然后选择计算器的结果放开鼠标左键。Inspectot中显示出对象的识别方法,鼠标左键点击工具栏上的“Copy recognition String”按钮拷贝识别方法,属性值通过选择Inspector左下角窗口中的Text属性,然后鼠标左键点击工具栏上的“Copy”按钮拷贝属性。修改后的脚本如下:51Testing软件测试网ZD B7fse
Sub Main51Testing软件测试网9_p.d+@|R fJd%\
    Dim Result As Integer
4EE5M'fNw0    Dim sum as Variant
seC3W*y051Testing软件测试网1a2|.V7Fxa
    StartApplication "C:\WINNT\system32\calc.exe"51Testing软件测试网.lZ5K6Ev|L
  
.ZR'LQ;|&qd0    Window SetContext, "Caption=计算器", ""51Testing软件测试网mNTy6we~+j
    InputKeys "1{+}1{ENTER}"
7E*LP4de k'DS0  51Testing软件测试网XB&MjG0k'h4t
    Result = SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum)
:pm0_1qVH5{6J0    msgbox sum
'_]6\ W4_(lF0  
^w0e~qLU$Q0    Window CloseWin, "", ""
ead,sV0
N9}1| c0w8a5C_T0End Sub
-V([%\mQ8ieK0
Hwc7@-d#y.Jy/~0    VU脚本是类C语言,区分大小写。所以在获取识别方法和属性值时最好的方法就是使用Inspector。51Testing软件测试网S*u J$C!J }?HmtO
    自己编写脚本时,还有一个要注意的问题是窗口上下文,窗口上下文不正确会导致回放时找不到对象。上面的脚本中Window SetContext, "Caption=计算器", ""下面的操作都是在这个窗口上进行的。编写脚本时一定注意看一下窗口上下文是否正确。51Testing软件测试网 |#hBDUL!W
    也可以在识别方法中指定窗口上下文,如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”是父子关系。这两个命令的效果完全一样。51Testing软件测试网1Rs^lJrK

kZ.sb` M8wJ#B` |c0

TAG: Robot技术 软件测试技术

 

评分:0

我来说两句

Open Toolbar