不谋万世者,不足谋一时;不谋全局者,不足谋一域。君子敏于事而慎于言 新浪微薄:土司阿哈

QTP常用的com对象的使用

上一篇 / 下一篇  2008-08-06 11:47:35 / 个人分类:qtp

1208328177
  • 自动化测试:
  • 测试文档:

QTP常用的com对象的使用51Testing软件测试网 eO+ergd&uH

QTP常用的com对象的使用:51Testing软件测试网 EV#rW(~%B[

实例151Testing软件测试网&QI%lF-qc \.EA WUlu

ExecuteFile  "C:\DBOperation.vbs"  '调用VBS文件51Testing软件测试网1j?ZQ\M#?Y

Dim objConnection,objRecordSet  '这两个实例一定要先定义(CONNECTION对象实例&RECORDSET对象实例)

9o*P okk%?@ c2o$\0

DBConnect()  '连接数据库51Testing软件测试网,vlA4L YE

Dim Sql
~.Z1f3L$KM7PV0Sql ="select * from com_prj_info where prj_id ='837'"

DSn [.f7N#uq8[0

ExecuteSql(Sql)  '执行SQL51Testing软件测试网Lm6S L g+l-^?X
      Msgbox(objRecordSet("prj_name"))
51Testing软件测试网 a&]`3P9?f

DBClose()  '关闭数据库的连接51Testing软件测试网0cQ z%UFt({

'-----------------以下是DBOperation.vbs文件的内容.------------------------------------

J$T0i#LU'@y0

Public Sub DBConnect()
i&G,~ Q hy`*d([ @.x0'Dim objConnection     'CONNECTION
对象实例
%N5HJzzl+ZC/m,SUv0'Dim objRecordSet       'RECORDSET
对象实例51Testing软件测试网F?^ b~-L
Dim objCommand          '
命令对象实例51Testing软件测试网6k0y!U@"H
Dim strConnectionString  '
连接字符串51Testing软件测试网;Tf6N E a9CoA
Set ōbjConnection = CreateObject("ADODB.CONNECTION")                '1 -
建立CONNECTION对象的实例
p4@${"i F&u5@d;n0strConnectionString = "Driver={Microsoft ODBC for Oracle};Server=ruanko;Uid=ruanko;Pwd=ruanko;"    '2 -
建立连接字符串
t0|*R@g~"z0objConnection.Open strConnectionString                                '3 -
Open方法建立与数据库连接
3Ys"\C-B6Qm0End Sub

.XabR6?L0

Public Sub ExecuteSql(strSql)
+P Cp6pxU_pb,w0Set ōbjRecordSet = CreateObject("ADODB.RECORDSET")                '4 -
建立RECORDSET对象实例
3q x+Yz9y!AF0Set ōbjCommand = CreateObject("ADODB.COMMAND")              '5 -
建立COMMAND对象实例
X}*S'xI)iG*HX0objCommand.ActiveConnection = objConnection51Testing软件测试网:E)y/{+gzB'V
objCommand.CommandText = strSql51Testing软件测试网2r } q E'i
objRecordSet.CursorLocation = 3
}Omr/f|vv3bE2@0objRecordSet.Open objCommand    '6 -
执行SQL语句,将结果保存在RECORDSET对象实例中51Testing软件测试网`y g#Z!]m
End Sub

l4]/h5E$e]S0

Public Sub DBClose() '关闭数据库连接
5gr,H,T4R]0objRecordSet.Close
X(Z(r.JOFw@0objConnection.Close51Testing软件测试网[ [#pv/H
Set ōbjCommand = Nothing51Testing软件测试网z]c2E'w U6Du
Set ōbjRecordSet = Nothing
&?-w2P8f9S ke+Yd0Set ōbjConnection = Nothing
,Xb#V9Jo#M8J7\0End Sub

k7P| \_0

实例2:

%X"\ED.lP+w2W0

        DeviceReplay对象可用于在QTP中直接操纵鼠标和键盘,例如单击鼠标、发送键盘按键、输入字符串等动作。51Testing软件测试网okIZ'h"z Y

下面的脚本首先创建DeviceReplay对象,然后使用其SendString方法发送一段字符串,然后使用MouseMove方法移动鼠标,使用MouseClick方法单击鼠标:51Testing软件测试网Cl.e t1Z0k

Dim devicereplay51Testing软件测试网4m9t-M A{;g{)S|

word = "Hello World!"

-@7|fN.WI;E0

Set devicereplay = CreateObject("Mercury.DeviceReplay")

2W.]-\8BQf#m0

devicereplay.SendString(word)51Testing软件测试网.v8SDw3P&vDW"p

devicereplay.MouseMove 200,20051Testing软件测试网t%`#K2k,{j?t

devicereplay.MouseClick 200,200,LEFT_MOUSE_BUTTON

qwF%|0\] j%|0

而下面的脚本将按下“SHIFT”键:51Testing软件测试网%bw|B9Z

Dim devicereplay

:tI%kk9P;rug0

VK_SHIFT = 42

j,Cf$SX\!]0

Set devicereplay = CreateObject("Mercury.DeviceReplay")51Testing软件测试网 l:{E-Yp+k

devicereplay.KeyDown(VK_SHIFT)51Testing软件测试网 gm@ U%Wg

实例3:51Testing软件测试网 @w p3t3|1g#M

Set Fileobj=CreateObject("scrīpting.FileSytemObject")51Testing软件测试网0V5tj9i1IA

msgbox FileObj.FleExists("d:\tmp|111.txt")

L:~3Xd;Na4|g\0

实例4:51Testing软件测试网!r0~p'q C F#i

QTP中,可以把Dictionary当成数组来用,而且可以随时添加数据,而不需要预先定义大小。

Wqq0vQd0

'创建Dictionary对象51Testing软件测试网$f HUR]$}6wm
Set Dic = CreateObject("scrīpting.Dictionary")51Testing软件测试网_/B0`d {.B*h'A9zA
'
添加Dictionarykeyvalue51Testing软件测试网8RG$K)d _.l Er |;D
For Iterator = 1 To 3 Step 151Testing软件测试网*n.GP:l2r'a
 Dic.Add CStr(Iterator),Iterator & "_Value"
"\2b LK&I3d&M0Next
&@/x6i f4v|r0'
循环读取Dictionarykeyvalue51Testing软件测试网|D&utJ"V+i#g%?
For Iterator = 1 To Dic.Count Step 151Testing软件测试网3Z7G9H @A5`,T&P
 Msgbox  Dic.Item(CStr(Iterator))
ai8kp|+Id,`0Next
51Testing软件测试网@U%I-e)K;}

DicArray = Dic.Items51Testing软件测试网QR+mwKM"iD
'For I = 0 To Dic.Count
|/h3|@4@] s0For I = 0 To UBound(DicArray)
C*\1R:FZq0 Msgbox DicArray(I)51Testing软件测试网n WA!t3tw%i
Next
51Testing软件测试网0ENDD5?+mn(Q#r

'判断是否存在某个Key,如果存在,则把其去掉
#tj3n-aA0If Dic.Exists("2") Then51Testing软件测试网tw!V|T-gp/^An}
 Msgbox Dic.Item("2")
Y%P7^ i8m!a_!f0 Dic.Remove("2")
u$TC f^0End If51Testing软件测试网@k!fMU |
Msgbox Dic.Count51Testing软件测试网-z},k%~ FB Xs
'
清空所有KeyValue51Testing软件测试网*q[+UbL5E/vLQk5V
Dic.RemoveAll()

3NUiSF||4dB0u,M-yML:A0

参考:51Testing软件测试网V4m&PFO

文件系统对象相关:51Testing软件测试网9r"Gk_B.OU9[ u,i
("scrīptING.FILESYSTEMOBJECT")
51Testing软件测试网4XNW5Z-S~&rr.H

应用:数据驱动技术常用,日志输入常用51Testing软件测试网!mO W]F1g.U8{R

字典相关:
vg,wmX8a0("scrīptING.DICTIONARY")
51Testing软件测试网-u#K4J u[_

应用:脚本配置控制开关list对象item数据对比51Testing软件测试网p2uVu&~V l&V"w

脚本外壳相关:51Testing软件测试网(M?|:F&dR&Ob
("Wscrīpt.SHELL")
51Testing软件测试网 X F"ok CAq[ g P^

应用:最常用其中的sendkeys方法,利用在不可识别对象技术方面51Testing软件测试网/Fc q+KV)T.|:H5HS

WINDOWS外壳相关:
oH\v3Z0("SHELL.APPLICATION")

1i^~5a%KC-q\kX(S0

正则表达式相关:
a,FV/OR._9d%jhq0("VBscrīpt.REGEXP")

Ti(|[%`H7E0

应用:网页解析,数据对比验证点技术实现的一种51Testing软件测试网LA(n?f

编码与密码相关:
+e1?LTL0E0("scrīptPW.PASSWORD")
q X.S)wv3t1z(u0( "scrīptING.ENCODER" )
51Testing软件测试网j.f(pd!Ih'dU T"lX/A

应用:数据包传输测试过程中应用

%ik)?6\.B1@0

邮件发送的组件相关:
$F R+x"?k\0("JMAIL.MESSAGE")51Testing软件测试网4cG@Lf}
("CDONTS.NEWMAIL")
eR exu3ymM0("CDO.CONFIGURATION")
Y `)v k8]$V/f@ \0("EUDORA.EUAPPLICATION.1")51Testing软件测试网B|ao/Y D ~z(P
("NOVELLGROUPWARESESSION")
51Testing软件测试网k6l%oH$h|C

应用:测试报告发送

!rt8|| |'{n#Uo0

水晶报表相关:
3nAd1MWb+x:B0 ("CRYSTALRUNTIME.APPLICATION")
51Testing软件测试网f%a5NE0bQ-ip"s"j

应用:测试报告美化,常用的是excel的报告输出,这种技术用的少51Testing软件测试网y(yB W\U \v\ MET

IE浏览器相关:
7Fv,BF%bulIUL0("INTERNETEXPLORER.APPLICATION")
51Testing软件测试网%l3s!x9l1~ Gr FY3y

应用:web测试用的比较多51Testing软件测试网5o|4^mg1p ey

ADO相关:51Testing软件测试网5`'f:}2NRR n
("ADODB.CONNECTION")51Testing软件测试网am fc1h @
("ADODB.COMMAND")51Testing软件测试网F ~yn7hMg
("ADODB.RECORDSET")51Testing软件测试网2dnB^,b \7k T
("ADODB.RECORD")
4v1]R0v$S[t&Z w N/w0("ADODB.STREAM")
4l(s,n$\;kz$C0("DAO.DBENGINE.35")
t,U$l!|8x)_n0("ADOX.CATALOG")
L _/r-fe.}g3|0("ADOX.TABLE")

Mk5q&{&dca0

应用:数据驱动,数据库验证,dao主要利用在access数据库处理

Q;L4I ]l+i0J?6_ h0

SQL相关:
)Y EkL/UmZ:K.s4M0("SQLDMO.SQLSERVER")51Testing软件测试网 ^,V&Xj!L|+Q e.|&WO
("SQLDMO.LOGIN")51Testing软件测试网VX K ?,R3T;w
("SQLDMO.BACKUP")51Testing软件测试网_n!`;VM,Bd@cT
("SQLDMO.USER")51Testing软件测试网uCyBk$TLh
("SQLDMO.BACKUPDEVICE")51Testing软件测试网wo,t/E1ME9o'jr4H0n
("SQLDMO.DATABASE")
B3GmM'`Q0("SQLDMO.RESTORE")51Testing软件测试网 L"T"}'`ir
("SQLDMO.APPLICATION")
51Testing软件测试网fgszb3_V[6o

OFFICE相关:51Testing软件测试网5^'z ?&Ua8}`&K
("WORD.APPLICATION")51Testing软件测试网u;o*k*H5vD
("EXCEL.APPLICATION")51Testing软件测试网&Uu\U3my
("POWERPOINT.APPLICATION")
Omfs1_7}0("EXCEL.SHEET")
O[y0S}c ]8l){0("FRONTPAGE.APPLICATION")51Testing软件测试网)?&l-a:?`;Ff y`ID$k h
("ACCESS.APPLICATION")
c6H a7Ltm!lr)UK0("MSGRAPH.APPLICATION")
'U6OKJW*oZW#p0("OUTLOOK.APPLICATION")

D/DOb7n*F:E0

应用:测试报告输出,数据驱动WMI相关:51Testing软件测试网 {i&JB*u\y@l2O`
("WBEMscrīptING.SWBEMDATETIME")51Testing软件测试网?J^1m\1iKKk p|
("WBEMscrīptING.SWBEMLOCATOR")
"K(_%l.Vm L4k0("WBEMscrīptING.SWBEMNAMEDVALUESET")
,iIU*[C:O#o0("WBEMscrīptING.SWBEMSINK", "SINK_")51Testing软件测试网7mL ]k!j+Ks4e
("WBEMscrīptING.SWBEMREFRESHER")
*Dn_P,U eu%B4l0("WBEMscrīptING.SWBEMLASTERROR")51Testing软件测试网S~ {A8c#B
("WBEMscrīptING.SWBEMOBJECTPATH")
51Testing软件测试网0h}Z#A_oqDimw

以上自理收集于网络

L6V~y-^0vG;@%K0D0

TAG: QTP qtp

 

评分:0

我来说两句

Open Toolbar