[原创]RegisterUserFunction的妙用

上一篇 / 下一篇  2008-12-09 17:54:22 / 个人分类:QTP

`&bd"H-g_:[D o+W0写好了,fish你来吧!

9M7K\4Rh~9s,?Q0

@!l j0S#|1^5T0各位:

O7M8gz2xg051Testing软件测试网 v#eVk!O!Me!M

  都知道WinEdit没有复制方法吧?不信你点一下,我看看!好我们给他实现一下,并且然后实现智能代码感

V } A-cR(a051Testing软件测试网x)o:U5E!r.NM1k#W

知,就是说在WinEdit后.一下就会出Copy来,酷吧!看我来实现!!

!FB|w`5tgz1M0

8k2h$Xx$h4@M%w0注:本节不是主要讲实现编辑框的复制,主要教你怎么给Qtp挂上自己的智能感知!51Testing软件测试网LMv)j\5NjP
51Testing软件测试网:]P&mA:b

I9m0a ku1A0BYX7Dd;V0使用小飞机程序作例子,代码如下:51Testing软件测试网QpIN S6Vryz"`6td

^z3OsL;V$^0RegisterUserFunc "WinEdit", "Copy", "EditCopy" ,True51Testing软件测试网'Vb:B'E4j^

51Testing软件测试网0^$Ir }*j D!M9|

Sub EditCopy ()51Testing软件测试网;R)X#TG1q{&Uo
 Set TestEdit = Dialog("Login").WinEdit("Agent Name:")
C d#uAOY#Av0 51Testing软件测试网 o)ev-ni,xd,W
 With TestEdit
2S#xa_-N:kA^+|(gD0  .SetSelection 0,Len(TestEdit.GetROProperty("text"))
._@5SqLw4m0  51Testing软件测试网$`%w5Y2sV4`a
  .Type micCtrlDwn + "c" + micCtrlUp51Testing软件测试网/YtcP c)f%g`:q"o
  
"b)w k4|*fo6J#X0 End with
E]2s$N%Y[`wB^0 51Testing软件测试网-e H,uZ4{9b/G2tR/Xd
End Sub51Testing软件测试网P$w-e.?;hr

F&O/e)Ez;~!Z'J0SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4a.exe"51Testing软件测试网V sI6i3L(oHa

51Testing软件测试网,o/G;I9Tl c m

Dialog("Login").WinEdit("Agent Name:").Set "kakamissyou"
$_%[rd%[p-V0Dialog("Login").WinEdit("Agent Name:").Copy

0k yx1{{;{Ia0T9|M}051Testing软件测试网&Egt Gc&r/u

UnRegisterUserFunc "WinEdit","Copy"51Testing软件测试网Kf_^z

51Testing软件测试网 sxF2OH&q

Dialog("Login").WinEdit("Agent Name:").Copy
$w$BP/^]'P(pvE0 'If you used the copy method  after unregister it,you would get a  error message about that  object doesn't support the copy method.

5i-ON Ae iJ#X5zV#L6I051Testing软件测试网Id|)o@-]4KKij

msgbox "stop here!"51Testing软件测试网 I(O[&m [

51Testing软件测试网SDP/s/A3S

先来看看效果:

.@ z^/s2W#r0n0

,B2_8D-ow-A0

Z;r$_@B,^051Testing软件测试网'l fkM:DA {6b1?4W

那是怎么实现的呢?主要靠这个RegisterUserFunc "WinEdit", "Copy", "EditCopy" ,True这句。51Testing软件测试网U QYm$G9a-[[

HyQ1Y?,O0WinEdit是要挂接的对象类,EditCopy是我们制作的Function,Copy则是你在WinEdit后面。一下出来的方

i4G.b4UkbE051Testing软件测试网1X6r1]R!w4d

法!如果你要注册的方法,如本例的Copy没有在WinEdit类中存在的话就会给新加上一个。就像本例!

au_ _tmp3H2}051Testing软件测试网)I#CH @0lk%z{!o

如果这个方法已经存在的话就会替换到原来的方法,从而可以实现重写原来的方法!51Testing软件测试网 OU8vl Bw)[2xO2E I

51Testing软件测试网.h:_)I_W8K a

总结:

v8A5R!y,hY0

C!dz'WT01.用这种方法可以实现继承,网上有人叫重载,我真不知道他们怎么读,是他们错了,还是我错了?

g*q(DI6{r051Testing软件测试网[$G5B2Sx2G+f7N l7G

  具体请查看帮助!相当于调用此类的父类的方法!51Testing软件测试网P6kW1h(C2_

0Ip/g!cA5b?u02.用这种方法可以实现重写原来的方法。

$Y+gUx5d~g051Testing软件测试网Q9k ` q.G'}

3.用这种方法可以实现继承并且原来的基础上添加一些功能。以简化开发。王道!51Testing软件测试网6E j1oz*cHZ

51Testing软件测试网[$?%i Z_Q*A| o

 

E~D&ng9H0

t|pT-m!`,mu;c]051Testing软件测试网-D*^C2M H6X9P;z P


TAG: QTP

 

评分:0

我来说两句

Open Toolbar