QuickTest Plus小工具,大作用(转)
上一篇 / 下一篇 2008-11-13 11:55:57 / 个人分类:QTP
象我这样初学QTP的朋友刚开始时很可能没有注意到QuickTest Plus,因为QTP安装后默认是
v.h&e3x(Q0没有安装plus的,千回百转知道了plus,大概看了看,发现plus虽然都是些辅助性的小工具,但51Testing软件测试网_En,ejP#w(g
往往会给你的工作带来事半功倍的效果。51Testing软件测试网P&^.@1T3Y
51Testing软件测试网 x#N6C*zV7tB @S
一、安装QuickTest plus51Testing软件测试网)uKf`#|`9|
s6r}[3g0 QTP安装后,在 程序 > QuickTest Professional下点击QuickTest Plus,然后按照提示一步步往下安装即可,51Testing软件测试网1M`H,Jp~$Xs
其中要求输入序列号,输入和QTP安装时相同的序列号就可以了(8888-8888888888)。51Testing软件测试网t8T&u uH+P
51Testing软件测试网 K\^JZ0r
二、提示和技巧
e-l,|UK w0
%RBp_,YkIpN3F0 plus不仅提供了一些工具,还在它的帮助手册里给出了一些提示和技巧,以及一些实用的Function。
#Y/Z(Y.wa(I;n0 在这里我把一些比较常用的好东东贴出来,其他的就看plus的帮助吧。51Testing软件测试网!Z+slW\\6S{wv
bB _M\nw01、创建action template.
2fMN(N-`+GZ4??0 当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等,用action template
zvW3]E6Q3h0 来实现最简单快捷。51Testing软件测试网iWr8I4|m
方法:用记事本等文本编辑器,输入如下类似的内容:
*m#V8ne } ji0 'Company: xxxx51Testing软件测试网-K4JPl"d
'Author: xxx51Testing软件测试网xE zO1mo@-z
'Product: xxx
uD L"xZ:Lh'~Y3`0k0 'Date: xx
GRA&z Wo!ss?0 然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录,重启QTP,新建一个action试试,新建的action会包含以上信息。51Testing软件测试网(khN6ySu T
51Testing软件测试网;k"Ml}I4gjXKp:`%s&a
2、关于设置测试报告里只显示error的信息。51Testing软件测试网vS{'?4M.oz
帮助中说:修改安装目录下bin\QTReport.ini文件,增加以下内容:
wi^j'v,M^r0 [FilterDialog]51Testing软件测试网?'NGlO*vOy
ReportAppDefaultFilter=1 # for error only51Testing软件测试网R#Kog2RJ
ReportAppDefaultFilter=3 # shows all messages (default)
.lX0D"bx*]I0 但根据我的测试结果,不尽其然:
]Y`W9k _J0 1)当ReportAppDefaultFilter=1时,如果Object Repository中缺少对象,在报告中会在相应的
2p$w&hfYR5t0 action前打叉,但不会提示具体错误,而成功的步骤都有具体信息显示。
wC[3KAb0k0\A0 2)用Reporter.ReportEvent测试的结果是:51Testing软件测试网,^gH4B9v
ReportAppDefaultFilter=1时,只显示micDone的具体信息;
u5W%S ]YyPGx0 ReportAppDefaultFilter=2时,只显示micFail的具体信息;
[|]7|$Y8S[0 ReportAppDefaultFilter=3时,只显示micDone和micFail的具体信息;51Testing软件测试网'n_SDmZK2F"KU f
ReportAppDefaultFilter=4时,只显示micPass的具体信息;51Testing软件测试网8YcFCc&P
51Testing软件测试网2txr"vS)o x#u
似乎无规律可寻,所以我的结论暂时是:不要设置这个参数,用默认的,显示所有信息,更多的信息有利于分析结果。51Testing软件测试网w)N!i'A`n
51Testing软件测试网,u|0WgM-trJ
3. 启动IE的语句:SystemUtil.Run "iexplore.exe", "http://www.mercuryinteractive.com"51Testing软件测试网nJ2P^X}tO
4. 关闭IE或其他程序的语句:SystemUtil.CloseProcessByName "app.exe"
"oU o4r]O)H)|&L0 or SystemUtil.CloseProcessByWndTitle "Some Title"
[hj[7R0
L ~Nkk8F*a T-hO0三、Function Libraries
)d"d-oCg4[;P0
)uZ"k:N Q k1h0 plus的帮助中提供了一些常用的Function,把这些function copy到文本编辑器中保存为.vbs文件,并添加到Resources中就可以直接调用了,51Testing软件测试网u$O.vo0gY&\ E^
或直接copy到你的action中,就可以在当前的action中调用。更推荐第一种方法,所有的action都可以调用。51Testing软件测试网N9O/{ c$z"eq
51Testing软件测试网r M6]LOi@L
1、文件操作相关的function,如下,望名则可生意:
~.a0B3M-[ Y*]m$M0 Function CreateFile(sFilename, bOverwrite);51Testing软件测试网HpVB$R'm5a
Function OpenFile(sFilename, iomode, create);51Testing软件测试网w[ g9uM _4b
Function AppendToFile(sFilename, sLine);51Testing软件测试网/ZG)N8o4_V a @9b:J
Function WriteToFile(sFilename, sLine);
J~~i4cJ7mm6["G0
9z(d"f/F#q2W6h:L SI02、Function NormalizeString(OrgStr); (将字符串变成regular express)
T^;W!OB8N;t\0
z"X,jOK O03、GlobalDictionary的使用,这是另外一种可以共享全局变量的方法,在所有的action中,包括local和external action中都可以访问。
dO9Wq9@Ml0
*f\eN/{/z'X04、使用文件系统相关的function:51Testing软件测试网/H{[ | Y}2`
Function ReadLineFromFile (byref FileRef);51Testing软件测试网 r;@Oz{4^bJ]:[8o
Sub FileDelete ( FilePath);
`hx {Cz!oTf0 Function FileCompare (byref FilePath1, byref FilePath2, byref FilePathDiff, ignoreWhiteSpace);51Testing软件测试网Iu9L2i#CJ%soM
Function CheckFileExists (FilePath)
AI%m:Xk4B8i051Testing软件测试网:{%o'?cm'xR
5. web table相关的function:51Testing软件测试网)MQ,[AnD
Function ItemByKeyColumn(): 根据table中某列的值,得到同一行中另一列的对象。(这个功能非常有用。)51Testing软件测试网#nlt5Fy/vj
Function ObjectsByMicClass(Obj, micClass): 得到table中所有的micClass类型的对象集合。51Testing软件测试网 t kp-b/J F I'dP
51Testing软件测试网fX4ji$`7tRk.{
51Testing软件测试网 [ txoF^9g
四、工具
To1Y,n&f ABN'a0
%|"F6uE'z+B'fh:d8i'n-{0 1、Automation Generator Utility51Testing软件测试网#_L_ e.NC
添加一系列动作,然后自动完成。如:启动QTP,然后执行test1, test2, test3...,最后关闭QTP,还可以连接或断开Quality center.
v.h&e3x(Q0没有安装plus的,千回百转知道了plus,大概看了看,发现plus虽然都是些辅助性的小工具,但51Testing软件测试网_En,ejP#w(g
往往会给你的工作带来事半功倍的效果。51Testing软件测试网P&^.@1T3Y
51Testing软件测试网 x#N6C*zV7tB @S
一、安装QuickTest plus51Testing软件测试网)uKf`#|`9|
s6r}[3g0 QTP安装后,在 程序 > QuickTest Professional下点击QuickTest Plus,然后按照提示一步步往下安装即可,51Testing软件测试网1M`H,Jp~$Xs
其中要求输入序列号,输入和QTP安装时相同的序列号就可以了(8888-8888888888)。51Testing软件测试网t8T&u uH+P
51Testing软件测试网 K\^JZ0r
二、提示和技巧
e-l,|UK w0
%RBp_,YkIpN3F0 plus不仅提供了一些工具,还在它的帮助手册里给出了一些提示和技巧,以及一些实用的Function。
#Y/Z(Y.wa(I;n0 在这里我把一些比较常用的好东东贴出来,其他的就看plus的帮助吧。51Testing软件测试网!Z+slW\\6S{wv
bB _M\nw01、创建action template.
2fMN(N-`+GZ4??0 当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等,用action template
zvW3]E6Q3h0 来实现最简单快捷。51Testing软件测试网iWr8I4|m
方法:用记事本等文本编辑器,输入如下类似的内容:
*m#V8ne } ji0 'Company: xxxx51Testing软件测试网-K4JPl"d
'Author: xxx51Testing软件测试网xE zO1mo@-z
'Product: xxx
uD L"xZ:Lh'~Y3`0k0 'Date: xx
GRA&z Wo!ss?0 然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录,重启QTP,新建一个action试试,新建的action会包含以上信息。51Testing软件测试网(khN6ySu T
51Testing软件测试网;k"Ml}I4gjXKp:`%s&a
2、关于设置测试报告里只显示error的信息。51Testing软件测试网vS{'?4M.oz
帮助中说:修改安装目录下bin\QTReport.ini文件,增加以下内容:
wi^j'v,M^r0 [FilterDialog]51Testing软件测试网?'NGlO*vOy
ReportAppDefaultFilter=1 # for error only51Testing软件测试网R#Kog2RJ
ReportAppDefaultFilter=3 # shows all messages (default)
.lX0D"bx*]I0 但根据我的测试结果,不尽其然:
]Y`W9k _J0 1)当ReportAppDefaultFilter=1时,如果Object Repository中缺少对象,在报告中会在相应的
2p$w&hfYR5t0 action前打叉,但不会提示具体错误,而成功的步骤都有具体信息显示。
wC[3KAb0k0\A0 2)用Reporter.ReportEvent测试的结果是:51Testing软件测试网,^gH4B9v
ReportAppDefaultFilter=1时,只显示micDone的具体信息;
u5W%S ]YyPGx0 ReportAppDefaultFilter=2时,只显示micFail的具体信息;
[|]7|$Y8S[0 ReportAppDefaultFilter=3时,只显示micDone和micFail的具体信息;51Testing软件测试网'n_SDmZK2F"KU f
ReportAppDefaultFilter=4时,只显示micPass的具体信息;51Testing软件测试网8YcFCc&P
51Testing软件测试网2txr"vS)o x#u
似乎无规律可寻,所以我的结论暂时是:不要设置这个参数,用默认的,显示所有信息,更多的信息有利于分析结果。51Testing软件测试网w)N!i'A`n
51Testing软件测试网,u|0WgM-trJ
3. 启动IE的语句:SystemUtil.Run "iexplore.exe", "http://www.mercuryinteractive.com"51Testing软件测试网nJ2P^X}tO
4. 关闭IE或其他程序的语句:SystemUtil.CloseProcessByName "app.exe"
"oU o4r]O)H)|&L0 or SystemUtil.CloseProcessByWndTitle "Some Title"
[hj[7R0
L ~Nkk8F*a T-hO0三、Function Libraries
)d"d-oCg4[;P0
)uZ"k:N Q k1h0 plus的帮助中提供了一些常用的Function,把这些function copy到文本编辑器中保存为.vbs文件,并添加到Resources中就可以直接调用了,51Testing软件测试网u$O.vo0gY&\ E^
或直接copy到你的action中,就可以在当前的action中调用。更推荐第一种方法,所有的action都可以调用。51Testing软件测试网N9O/{ c$z"eq
51Testing软件测试网r M6]LOi@L
1、文件操作相关的function,如下,望名则可生意:
~.a0B3M-[ Y*]m$M0 Function CreateFile(sFilename, bOverwrite);51Testing软件测试网HpVB$R'm5a
Function OpenFile(sFilename, iomode, create);51Testing软件测试网w[ g9uM _4b
Function AppendToFile(sFilename, sLine);51Testing软件测试网/ZG)N8o4_V a @9b:J
Function WriteToFile(sFilename, sLine);
J~~i4cJ7mm6["G0
9z(d"f/F#q2W6h:L SI02、Function NormalizeString(OrgStr); (将字符串变成regular express)
T^;W!OB8N;t\0
z"X,jOK O03、GlobalDictionary的使用,这是另外一种可以共享全局变量的方法,在所有的action中,包括local和external action中都可以访问。
dO9Wq9@Ml0
*f\eN/{/z'X04、使用文件系统相关的function:51Testing软件测试网/H{[ | Y}2`
Function ReadLineFromFile (byref FileRef);51Testing软件测试网 r;@Oz{4^bJ]:[8o
Sub FileDelete ( FilePath);
`hx {Cz!oTf0 Function FileCompare (byref FilePath1, byref FilePath2, byref FilePathDiff, ignoreWhiteSpace);51Testing软件测试网Iu9L2i#CJ%soM
Function CheckFileExists (FilePath)
AI%m:Xk4B8i051Testing软件测试网:{%o'?cm'xR
5. web table相关的function:51Testing软件测试网)MQ,[AnD
Function ItemByKeyColumn(): 根据table中某列的值,得到同一行中另一列的对象。(这个功能非常有用。)51Testing软件测试网#nlt5Fy/vj
Function ObjectsByMicClass(Obj, micClass): 得到table中所有的micClass类型的对象集合。51Testing软件测试网 t kp-b/J F I'dP
51Testing软件测试网fX4ji$`7tRk.{
51Testing软件测试网 [ txoF^9g
四、工具
To1Y,n&f ABN'a0
%|"F6uE'z+B'fh:d8i'n-{0 1、Automation Generator Utility51Testing软件测试网#_L_ e.NC
添加一系列动作,然后自动完成。如:启动QTP,然后执行test1, test2, test3...,最后关闭QTP,还可以连接或断开Quality center.