心念旧安,夙夜忧叹。

QTP中的Active Screen

上一篇 / 下一篇  2008-07-21 22:37:16 / 个人分类:原创文章

查看( 4012 ) / 评论( 6 )
很多人不知道Active Screen中的Capture Level(捕获级别)到底有什么区别——看了帮助文档也没看明白。
RA"U9eUHPt0下面我给大家简单的解释下这四个级别。
:N#w&?'B?0官方的帮助文档翻译:
{!c:lQ'B/@0'=====================
{&i k Xu6Y+|0完整 - 在每个步骤的 Active Screen 中,捕获应用程序的活动窗口/对话框/网页上所有对象的所有属性。该级别在任何动态更改之后保存网页,并以压缩格式保存 Active Screen 文件。51Testing软件测试网-v7oL&Y9m {$L
部分 - (默认值)。在应用程序的窗口中执行的第一个步骤的 Active Screen 中,捕获应用程序的活动窗口/对话框/网页上所有对象的所有属性,以及在同一窗口的后续步骤中录制对象的所有属性。该级别在任何动态更改之后保存网页,并以压缩格式保存 Active Screen 文件。
.bq5VdQ(?(q-J t0最小 - 在每个步骤的 Active Screen 中,仅捕获录制对象及其父对象的属性。该级别保存所有网页的原始源代码 HTML(动态更改之前),并以压缩格式保存 Active Screen 文件。
sf7@8e C[)Nxd:t0无 - 禁止捕获所有应用程序和网页的 Active Screen 文件。
5?AH^s7q4h0'=====================
YF#M U5V~,dRR051Testing软件测试网8nDQ'pm$]Yu
其实这里所说的四个级别是针对Windows Applications的,这在Tools--Options--Active Screen--Custom Level--Custom Active Screen Capture Settings里是可以看到的。51Testing软件测试网W!h*Qn/kuN
根据帮助文档所说的,这四个级别的区别在哪里呢?51Testing软件测试网*h uWC G*YA,nO
下面我以Flight为例,贴一段代码:

CODE:

G3i%CD _u(~-J3p.`h0SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"51Testing软件测试网 h.P/y;U1L3g
Dialog("Login").WinButton("OK").Check CheckPoint("OK")51Testing软件测试网|ut$qLb4w'w
Dialog("Login").WinEdit("Agent Name:").Set "admin"
4lV-|\5vr wy*l-] Vs0Dialog("Login").WinEdit("Agent Name:").Type  micTab
iO:Pc(pD#l%t/X0Dialog("Login").WinEdit("Password:").SetSecure "4884951da8119ded1e444d01afd8e2588e6615e8"51Testing软件测试网7z-nbi&M
Dialog("Login").WinEdit("Password:").Type  micReturn
)@MJ6k1`-?d&e4p0Window("Flight Reservation").ActiveX("MaskEdBox").Type "111111"51Testing软件测试网Y;N&SC9S4V6hs.u
Window("Flight Reservation").WinComboBox("Fly From:").Select "London"
上面这段代码中,我通过Active Screen在OK按钮上添加了一个检查点,加完之后,检查点所在的这一行在Active Screen中是可以看到对应的图的(按钮OK被粉红色的框给高亮了)。
raJ&X n\,hox0接下来,我们来把这行代码拖动到SystemUtil.Run的那行代码之前,变为:

CODE:51Testing软件测试网v&G!O{yZWc*A-^a

Dialog("Login").WinButton("OK").Check CheckPoint("OK")51Testing软件测试网d;Pk b5i Bw0Q ~ge
SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
}U G!F3h|W0Dialog("Login").WinEdit("Agent Name:").Set "admin"51Testing软件测试网U5r,Cw\&{P+S!h`'A
.......
就会发现Complete和Partial的区别了:
_e&F:z7uN0pp8o%f0当我们选择了Complete级别后,检查点所在的行仍然可以看到Active Screen有对应的那张图;51Testing软件测试网.n?&Bq|VT5}
而当我们选择了Partial级别后,检查点所在的行却看不到这张图了。
QM?(_2R._0JkHt0也就是说,所谓的Partial级别指的是QTP在录制Windows Applications中,执行的第一个“有图(Active Screen中能看到图)”步骤之后,每个步骤都会开始保存图片到Active Screen里,但是在这个“第一个步骤”之前的那些步骤,它是不帮你进行保存图片的。这就是为什么把示例代码中的检查点所在行放到SystemUtil之前,图就“没”了的原因——因为SystemUtil.Run所在的行是“没图”的,它后面的那个“Dialog("Login").WinEdit("Agent Name:").Set "admin"”这句话才是第一个有图的行。
!G%M'EL/~4Fbl051Testing软件测试网-L`N L\4nX~
接下来解释Capture Level中Minimum和以上两个级别的区别。51Testing软件测试网,j {3C,S$i.VKg#V
当你选择了Minimum后,会发现在Active Screen中,只能在录制对象和窗口/对话框本身中插入检查点并执行其他操作。无法在 Active Screen 显示的其他对象上执行操作。
LTC*Du%G1C0在我们的示例代码中,假设我们鼠标所在行是“Window("Flight Reservation").WinComboBox("Fly From:").Select "London"”这时,在Active Screen中,你只能在下拉框“Fly From”中去添加检查点,但是在其他的控件上(比如“Fly To”)添加的检查点只会把下拉框“Fly From”的父对象(也就是“Flight Reservation”窗体)作为检查对象了。

TAG:

刘沛的测试空间 zte_boy 发布于2008-07-21 23:03:12
不错,呵呵,估计很多人都没有仔细研究过这个东西的
符华聪的测试空间 小孩 发布于2008-07-22 08:44:18
又是俺师傅一大作。
逍遥客 xiaoyaoke 发布于2008-07-22 10:40:26
干技术底蕴很重要啊,我之前在外面做QTP做一年多了,来了现在这家公司,我导师用QTP才几个星期,感觉对QTP理解的深度和在使用的自如上比我强好多,崩溃啊,呵呵
刘沛的测试空间 zte_boy 发布于2008-07-22 11:28:57
所以说,技术都是相通的,基础很重要 51Testing软件测试网&FH-d;ii
基础的好坏决定了对技术理解层面的不同,也就造成了使用上的差距
emilyzhang68发布于2011-12-21 17:48:33
回复 1# songfun
-bY8k Q'd
O$m2`UD/N\
8M3T2l4~
CG U8s{
我分别在Complete和Partial级别下录制了flight,然后按照版主说的把"OK"按钮的检查点放到systemUtil的上面,点击检查点在ActiveScreen里面都可以看到图片
shiwei198158发布于2012-04-09 15:54:47
QTP录制VB写的CS架构的应用程序就是垃圾!像点开打印或输出按钮后弹出的界面根本抓不到!!!
我来说两句

(可选)

日历

« 2024-05-07  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 453999
  • 日志数: 138
  • 图片数: 4
  • 建立时间: 2006-11-26
  • 更新时间: 2013-08-30

RSS订阅

Open Toolbar