度过了一个冬眠,在春末夏初之际,补充自己的营养,努力学习,努力工作!

qtp 问题汇总(转载)

上一篇 / 下一篇  2009-01-09 15:50:18 / 个人分类:转贴

一、Cannot find the "shoujian.projectname" object's parent "10_2" (class Frame). Verify that parent properties match an object currently displayed in your application.问题的解决。51Testing软件测试网eE1f I N i9H
这个问题真是郁闷,其实产生的主要原因是在录制脚本的时候,qtp没有识别出来框架Frame中的对象,回放时找不到对象出错。
6wBI-G,s_ h0解决办法:通过object spy 识别对象 并将其添加到对象库;然后在录制点击对象的一段脚本(或者自己写),再次回放就ok了。
?l4a1t0L3_0
'w~ m8Li%Z| Kc0二、注意:datatable.Importsheet "D:\test\USER_INFO.xls",1,"Action1"中,"Action1"一定要加双引号,要不然默认导入到Global中。51Testing软件测试网S ec6Ljj

&W.Q8FHP oEf@ m0三、自动启动qtp的vbscrīpt脚本。
"D,y(K&W M kt`0dim qtapp
Set qtapp=createobject("QuickTest.application")
qtapp.Launch
qtapp.visible=true
k-K(YJPyf"g&XJ0用法:将脚本卸载记事本文件中,文件格式保存为.vbs点击直接运行。就可以自动启动qtp。
H e3^5n1m'b)g051Testing软件测试网`R8d*U.V9H/X"z

G}_!m-dk0

四、修改QTP中对象的默认识别属性

WebCheckBox为例。
a4hH-BB&T'^U0QTP里面 ,选择Tools --> Object Identification...Environment选择Web,找到 
 WebCheckBox,看看QTP默认的识别WebCheckBox对象时使用的是哪些属性。可以修改识别WebCheckBox对象属性51Testing软件测试网3g)D+oh z*Y1u*k:d
注意: 修改只对以后录制的脚本起作用。
.b.fn`/E [-J+c;j0

五、QTP如何测试鼠标右键菜单

QTP附带的订票网站sample为例,edit控件username鼠标右键,点击paste(第4个菜单项)51Testing软件测试网7D_#B2nx{6n\ q+n `
51Testing软件测试网0}U){f S8O-W
cur_replay_type = Setting.WebPackage("ReplayType")
`bk,L+f0Setting.WebPackage("ReplayType") = 251Testing软件测试网2V|#pE8Sc8B
Browser("Browser").Page("Welcome:MercuryTours").WebEdit("userName").Click 5,4, micRightBtn51Testing软件测试网N#ZgLCG
Setting.WebPackage("ReplayType") = cur_replay_type
v8}"d w6d q6h051Testing软件测试网"N\,PR2~P
index=451Testing软件测试网 VD$B0R}(o
Set WshShell = CreateObject("Wscrīpt.Shell")
f&c v,{0]0For i = 1 To index
M:[R Q Oy'F]B7Y2X0  WshShell.sendKeys "{DOWN}"51Testing软件测试网3j'tF,`0El zGd+n
Next
)Sz[Q:Y0WshShell.sendKeys "{ENTER}"51Testing软件测试网TM Zwr
Set WshShell = nothing
 

六、如何设置让对象库不产生重复对象

tools --options---web ---page/frame optinons51Testing软件测试网 Q b l#JC%{vfW
都选择第二项.就OK了.
 

七、QTP中用代码连接数据库

Set Conn = CreateObject("ADODB.Connection" )
:cMqbl0str="DRIVER=Oracle in OraHome92;SERVER=192.168.0.1;DBQ=testdb;user id=test; password=test"51Testing软件测试网(Xj:hc ?$f
Conn.open str51Testing软件测试网&L8t[U'?5^2zv
Set Rs = CreateObject ("ADODB.Recordset" )
a6q} w!T7XD9A0sql = "select * from user_table t where table_name = 'XXX' "
2`Xs"O Y@;t{7aG bK0Rs.open sql,conn',1,3
 

八、QTP测试页面字体颜色的办法

set ōbj =Browser().Page().WebElement().Object
"~$t E^H0j)qGO,q0' Get the  object51Testing软件测试网tX.\| O'Y)g#u
set iStyle= obj.currentstyle
Q@#HrF8j9v J4A.u,^(E0' Get the attribute
sE4A*B[U8lI0sColor = iStyle.color
 

九、下拉菜单不能回放的解决方法

在录制时,比如打开记事本,点击下拉菜单 "文件"-->"退出";
]bl'{}G0回放时会出现 object not visible ;51Testing软件测试网7P:z.G`k Vf/V'@)u
windows("记事本").click 193,11751Testing软件测试网-D.r#k | @a)a \
windows("记事本").winmenu("ContextMenu").Select "文件:退出"
ABJhh0l;f051Testing软件测试网.?)B n(p-VXI
QTP默认录制方式是无法录制下拉菜单的,必须修改设置后再录制
&I-Qr?#w9uf7i+]6E]0修改设置如下:51Testing软件测试网"e T [.jx F eiQY
在tools -> web event recording configuration 点击custom settings... 展开Web objects,
d~(q,zJU0选种webelement,点击event -> add -> onmouseover 。并确定在record栏内,状态是enabled。51Testing软件测试网 Q+\Gd)Wvj
然后再重新录制你的脚本。51Testing软件测试网*|%{*n!P1K$X-H@n
执行录制后的脚本,无法回放成功,这是因为脚本只录制了鼠标的onmouseover 事件,却没有录制click事51Testing软件测试网 I*K a ER*_C`G?
件,所以脚本录制完后要手动添加click事件。
no+s MLYcJ B0
 

十、QTP中如何识别带参数的链接?

QTP中如何识别带参数的链接?比如:"Browser("browser").Page("page").Link("href:=http://www.xxx.test/file/upload.php?matchable=0"
5}f6`Aj kQ9T;K&F0
b/f(l\}pe0特殊字符都需要用转义字符"\"来进行转义。

十一、如何让QTP运行时自动产生提示信息并自动确定?

Set WshShell = CreateObject("Wscrīpt.Shell")
W]/z]iu,V4E0    WshShell.Popup "123456789", 2, "标题内容"
 

十二、QTP回放的过程中出现禁止运行控件提示的解决方法

修改QTP设置如下:toos-->options..-->Active Screen-->Advanced-->点选Load ActiveX controls
 

十三、从QC自动启动qtp如何自动加载插件

'此函数用于加载指定Test所有的插件,若要运行Test可自己加个qtApp.Test.Run51Testing软件测试网2P] Z3c_7T0|&am
Function Load_Addins(testPath)
;b:?;t I V0      Dim qtApp 'As QuickTest.Application
,Yz)ovL)wS.k0      Dim blnNeedChangeAddins
WSd(Y!{0      Dim arrTestAddins
#H*YE+?&?H_3VV0      Set qtApp = CreateObject("QuickTest.Application")51Testing软件测试网.D"u"a1R(NUit
      arrTestAddins = qtApp.GetAssociatedAddinsForTest(testPath)
#u(F3~$H8E0      blnNeedChangeAddins = False51Testing软件测试网r!w3O_m4p&@+fF
      For Each testAddin In arrTestAddins51Testing软件测试网wvP1\'s#L
        If qtApp.Addins(testAddin).Status <> "Active" Then
j;Z@qD&K1y0          blnNeedChangeAddins = True51Testing软件测试网!zS U EY:H5x(f
          Exit For51Testing软件测试网2C*@3KF a;fW
        End If51Testing软件测试网9{3vPZ#O(]5U$n
      Next51Testing软件测试网;{&H*Xe5h5@^
      If qtApp.Launched And blnNeedChangeAddins Then
go/I ln(@?0        qtApp.Quit51Testing软件测试网3]1nl"MI'vl
      End If
T}hI |US.NXc0      If blnNeedChangeAddins Then51Testing软件测试网;m*w~prJ3@
        Dim blnActivateOK51Testing软件测试网 pC9U]oF?
        blnActivateOK = qtApp.SetActiveAddins(arrTestAddins, errorDescrīption)
!f.es!A"tF7Gy0        If Not blnActivateOK Then
V+w8Zf+P7V y)cK0          Call ErrorLog(errorDescrīption)  '这里是调用自己的日志函数,可替换为自己的或注释掉
v~ PV%KY0            Wscrīpt.Quit
9G:Gw@(ql/BrM4f0        End If51Testing软件测试网4a h G?:fA7Pu@9T
      End If51Testing软件测试网PG9y[-nmb @0\
      If Not qtApp.Launched Then51Testing软件测试网A7S5lIAR-u7k&l2?
        qtApp.Launch
]3d$rs(]k:m5V0      End If
/d(D c#Z|r X'w @9V)q8\0      qtApp.Visible = True
9wF'j_6S] e"G5V0      qtApp.Open testPath51Testing软件测试网 U"h+ES%@4C(_.~
'可在此加入qtApp.Test.Run来运行Test51Testing软件测试网5?&CJOi-o9xw
      Set qtApp = Nothing
L7aj[k8l0End Function

TAG: 转贴

 

评分:0

我来说两句

Open Toolbar