浅谈QTP中的测试对象

上一篇 / 下一篇  2009-07-27 21:43:31 / 个人分类:QTP

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP
在这里介绍一种通过函数的方式来管理和使用测试对象的方法,该方法的思想是基于利用函数来实现的,把要测试的每一类对象通过一个或几个公用的函数来实现,下面通过具体的code来说明,先建立一个 TestObject.qfl的文件,用来模拟对象仓库的功能。

4xvLB%D&W:Wg Mj0

51Testing软件测试网W/b!PU:x,c+c!`

Function getWindow

K7E7x7L;~]OB2k0

g1C8m^%_0    Set win = description.Create51Testing软件测试网.I$T&q{ |5m i"}
    win("class description").value = "window"

3~!@ ^-l\B!NN051Testing软件测试网o h&GA%aY{ v

    Set getWindow = win

Yq |/Tifz:mw051Testing软件测试网'Vq[G)r*orW

End Function

$z`\)E"S3c051Testing软件测试网*X clR0RjU@3Da

Function getWindowByTitle(title)

[&q&rw7tvD051Testing软件测试网k3D;j]~Ml

    Set win = description.Create
}b5G }%{0    win("class description").value = "window"51Testing软件测试网7l-P$@#e7r3wzJ
    win("title").value = title51Testing软件测试网V+b5O2i\T r\4h

Zk1p4Ut*fu2d1Q0    Set getWindowByTitle = win

.atLszN051Testing软件测试网A2LR vUJ

End Function

"s0tC)X,A,Sc,v8Q051Testing软件测试网+ep R6ySQ

Function getDialog

Y(o U0Nd0A051Testing软件测试网-Y}A~1{.p8}0I

    Set dia = description.Create51Testing软件测试网/A4u!VbK/W'zvo
    dia("class description").value = "window"51Testing软件测试网|0ch*]b2u:|

51Testing软件测试网&^"]0QFJ5q

    Set getDialog = dia

y1_-r A n\%i6ey'Q051Testing软件测试网s]J$weD4b o`QD

End Function51Testing软件测试网/dS#s1`k&d/UB

51Testing软件测试网0Q*p9l"p4dm b.\;X"_X

Function getDialogByTitle(title)51Testing软件测试网;b8e Zd SA'[@ @@

t(l F2|u3fR0    Set dia = description.Create
6TiCs2{ ]0    dia("class description").value = "window"51Testing软件测试网"q.yY-qX Dv%K{
    dia("title").value = title51Testing软件测试网1PVE'uZgi

L(BR'P/[m0    Set getDialogByTitle = dia51Testing软件测试网zf }!BLDO-y'r

51Testing软件测试网.D\ l8x Byc4w

End Function51Testing软件测试网 Li/TM)E

51Testing软件测试网j} sl&s/v9bg

Function getEdit

8G[e9xL051Testing软件测试网k o/w"Y[3Ey

    Set edt = description.Create
T5}QUp$wCY jO0    edt("class description").value = "edit"51Testing软件测试网 qDBymJ&\%D

51Testing软件测试网1st(w+p~

    Set getEdit = edt51Testing软件测试网$k{z.e3_V4VsQd

7v0{+X|KD m0vv0End Function51Testing软件测试网tS6RC)_ Y

\WT T*pv kL0Function getEditByText(text)51Testing软件测试网4c5^~,| w3q!XR

51Testing软件测试网M6E&huj i

    Set edt = description.Create
R[ _vV)N0    edt("class description").value = "edit"
h&FaHm TR0    edt("attached text").value = text51Testing软件测试网p3^zS)z1q&Z3IF

51Testing软件测试网dE4HQ?%M#?

    Set getEditByText = edt

1W`2r p*h}RE;P0

|f`!@5l)N"[8` HAV0End Function51Testing软件测试网TC$hQX&R-f

$e$V}#N5n P0Function getEditByIndex(index)

'P{3Rwd!A]E7_;K051Testing软件测试网6qG)m gzd ]$@

    Set edt = description.Create
^fOqi6i"Y_J0    edt("class description").value = "edit"51Testing软件测试网 w0hL-Yl k
    edt("index").value = index

&d@tD ^+G k'@z/s"l051Testing软件测试网\7L`*@5Zl

    Set getEditByIndex = edt51Testing软件测试网 wtgp%[eou

%H Ib!d*[ O1fb#gT0End Function51Testing软件测试网quQ,s#r[W

L;v7d6jdY?x0Function getButton

9d5U3w,hN`,V0

s,FX3m#GS0    Set btn = description.Create51Testing软件测试网;Ws7z(YAtD+p
    btn("class description").value = "push_button"

/|j*va,?lA051Testing软件测试网C ^ r,TE"Z

    Set getButton = btn51Testing软件测试网~M+QV x)bv

51Testing软件测试网0a"J7p T3N O0`6g&M

End Function

7S(K&kk9] AF.s051Testing软件测试网r;?/v8sM dk

Function getButtonByText(text)51Testing软件测试网K!A3{U#O)}

H1\ n(y d5XC0    Set btn = description.Create51Testing软件测试网YP*g @y;}#n
    btn("class description").value = "push_button"
)o r3L|3SS0    btn("attached text").value = text

/|ca4b*h(cD$Z0

5U*[oA DaDLa?0    Set getButtonByText = btn51Testing软件测试网:v-uF l q K!nb5b

51Testing软件测试网#_x)vu];qh2kVQ

End Function51Testing软件测试网$C"Y1Tq v XM

51Testing软件测试网e s P ^8y J/YI:?

51Testing软件测试网!yO.jC \

  我们通过以上这种方式,可以把我们测试项目中用到的所有的测试对象加入到这个“对象仓库”中来,在使用的时候,只需要调用相应的函数即可实现,如下面的coad所示。51Testing软件测试网C"cG)R{7Ha&Y!G

51Testing软件测试网T2Z5R R/BI0s!J({T/lt

SystemUtil.Run "fileName","","filePath"51Testing软件测试网2Ew Q3u dFw

9F!Si6y/[ _Kz6M9M0IfJavaWindow(getWindow).JavaDialog(getDialog).Exist(30) Then
%xN B!|+j0
3k7u/CbY'l0    With JavaWindow(getWindow).JavaDialog(getDialog)
6O9`%Y.|S;}v0
G|QMSjO0        .JavaEdit(getEditByText("User Name")).Set "userName"
aRlNp;Up&xE0        .JavaEdit(getEditByText("Password")).Set "userPwd"
j'X$a8y+a;\x h-T0        .JavaButton(getButtonByText("Ok")).Click51Testing软件测试网s%y#Zsj;P
    End with
J'~WQ*Jjm @8HC0Else51Testing软件测试网X:f/I{kRz I
    Reporter.ReportEvent micFail,"lauch error","launch error, please check the application!"51Testing软件测试网#q M2}Q]SE'Y
    ExitTest
+I&Q8x\Wz%^0End If
51Testing软件测试网J#yvA7[ER4Jc

51Testing软件测试网,ftt5lGW

  通过这种方式实现了测试对象的过度复用,更符合自动化测试的思想,在项目的测试过程中,我们只要不断的加入新类型的测试对象即可,关键是这些测试对象基本不需要怎么维护,便可以很好的进行复用,这些对象不仅仅在一个项目中可以使用,只要是同一类型的项目,我们都可以来使用这些对象,而不需要随着不同的项目我们还要去重复的去维护一个个的对象仓库了。这样大大的提高了我们的测试效率,也便于多人集体合作。51Testing软件测试网 Ew7}p^%[w

TAG:

 

评分:0

我来说两句

Open Toolbar