(转) QTP中的Active Screen

上一篇 / 下一篇  2008-12-20 19:34:03 / 个人分类:QTP

很多人不知道Active Screen中的Capture Level(捕获级别)到底有什么区别——看了帮助文档也没看明白。
t\R3\ J*c138711下面我给大家简单的解释下这四个级别。51Testing软件测试网9t1~]}l7~0_d
官方的帮助文档翻译:51Testing软件测试网8o7\A3c ^Y \A#p
'=====================
^q5n4^*jhaB$z)U138711完整 - 在每个步骤的 Active Screen 中,捕获应用程序的活动窗口/对话框/网页上所有对象的所有属性。该级别在任何动态更改之后保存网页,并以压缩格式保存 Active Screen 文件。
c_X#}'}'K.]0w138711部分 - (默认值)。在应用程序的窗口中执行的第一个步骤的 Active Screen 中,捕获应用程序的活动窗口/对话框/网页上所有对象的所有属性,以及在同一窗口的后续步骤中录制对象的所有属性。该级别在任何动态更改之后保存网页,并以压缩格式保存 Active Screen 文件。51Testing软件测试网7S3A9rmB
最小 - 在每个步骤的 Active Screen 中,仅捕获录制对象及其父对象的属性。该级别保存所有网页的原始源代码 HTML(动态更改之前),并以压缩格式保存 Active Screen 文件。51Testing软件测试网*t}g`c;di
无 - 禁止捕获所有应用程序和网页的 Active Screen 文件。
Q p1a#dE0J l%q4Ox138711'=====================51Testing软件测试网T K N-Z!QT eoN

"u vp}_;IU138711其实这里所说的四个级别是针对Windows Applications的,这在Tools--Options--Active Screen--Custom Level--Custom Active Screen Capture Settings里是可以看到的。
%_"nY:Nfb?cy(P138711根据帮助文档所说的,这四个级别的区别在哪里呢?
TA$ruE/t.Ja138711下面我以Flight为例,贴一段代码:

CODE:

SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
V~r_'P138711Dialog("Login").WinButton("OK").Check CheckPoint("OK")51Testing软件测试网J_:|2HVQU{4L
Dialog("Login").WinEdit("Agent Name:").Set "admin"51Testing软件测试网 UR3@%HmX
Dialog("Login").WinEdit("Agent Name:").Type  micTab
Z&?T aB8S138711Dialog("Login").WinEdit("Password:").SetSecure "4884951da8119ded1e444d01afd8e2588e6615e8"51Testing软件测试网` E&?-}^{$rN)?
Dialog("Login").WinEdit("Password:").Type  micReturn
4B;@QdA0l1?138711Window("Flight Reservation").ActiveX("MaskEdBox").Type "111111"51Testing软件测试网DAYl({.xm2j
Window("Flight Reservation").WinComboBox("Fly From:").Select "London"
上面这段代码中,我通过Active Screen在OK按钮上添加了一个检查点,加完之后,检查点所在的这一行在Active Screen中是可以看到对应的图的(按钮OK被粉红色的框给高亮了)。
8t'V%C[5Ot-~138711接下来,我们来把这行代码拖动到SystemUtil.Run的那行代码之前,变为:

CODE:

Dialog("Login").WinButton("OK").Check CheckPoint("OK")
?7_suU._5z#{T138711SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
I.K4uPq(~6s3w138711Dialog("Login").WinEdit("Agent Name:").Set "admin"51Testing软件测试网{? tn6ORn
.......
就会发现Complete和Partial的区别了:
| XfC0x:m@138711当我们选择了Complete级别后,检查点所在的行仍然可以看到Active Screen有对应的那张图;
7N R8?}5R"I3M:A138711而当我们选择了Partial级别后,检查点所在的行却看不到这张图了。
Kp*K^3q4h1V"G6}8}138711也就是说,所谓的Partial级别指的是QTP在录制Windows Applications中,执行的第一个“有图(Active Screen中能看到图)”步骤之后,每个步骤都会开始保存图片到Active Screen里,但是在这个“第一个步骤”之前的那些步骤,它是不帮你进行保存图片的。这就是为什么把示例代码中的检查点所在行放到SystemUtil之前,图就“没”了的原因——因为SystemUtil.Run所在的行是“没图”的,它后面的那个“Dialog("Login").WinEdit("Agent Name:").Set "admin"”这句话才是第一个有图的行。51Testing软件测试网-s5bF VE/}l|g e

}#aW1I(^0^^,P138711接下来解释Capture Level中Minimum和以上两个级别的区别。
!EgrZ:TT138711当你选择了Minimum后,会发现在Active Screen中,只能在录制对象和窗口/对话框本身中插入检查点并执行其他操作。无法在 Active Screen 显示的其他对象上执行操作。
zmJ3h&Ts\8B@138711在我们的示例代码中,假设我们鼠标所在行是“Window("Flight Reservation").WinComboBox("Fly From:").Select "London"”这时,在Active Screen中,你只能在下拉框“Fly From”中去添加检查点,但是在其他的控件上(比如“Fly To”)添加的检查点只会把下拉框“Fly From”的父对象(也就是“Flight Reservation”窗体)作为检查对象了。

TAG:

 

评分:0

我来说两句

Open Toolbar