51Testing软件测试论坛

标题: 关于RegisterUserFunc [打印本页]

作者: dottree    时间: 2008-7-15 14:08
标题: 关于RegisterUserFunc
在QTP里新建一个Test: test1,关联到两个function lib: lib1.vbs, lib2.vbs. 在lib1.vbs中为JavaList注册了一个新方法:
-----------
Public Function Testfun1(test_object, strPattern)
.......
End Function
RegisterUserFunc "JavaList", "Testfun1", "Testfun1",True
-----------

在lib2.vbs中想调用这个方法:
JavaWindow("AAA").JavaWindow("BBB").JavaList("TTT").Testfun1 "TEST"
但是Testfun1并不在JavaList的方法列表里面,这个方法不能被识别。

在测试脚本test1里可以调用这个新方法。

如何才能在lib2.vbs中使用这个新注册的方法?
作者: dottree    时间: 2008-7-15 14:27
原来还是能够使用的, 虽然列表中没有。
作者: zte_boy    时间: 2008-7-15 14:41
RegisterUserFunc没见过你这么用的,呵呵,也许是我理解还不到位吧
这个本身是为了解决封装对象方法而存在的,可以在对象操作的同时执行其他操作
RegisterUserFunc "JavaList", "Testfun1", "Testfun1",True
这个中间的第二项应该是对象方法列表中的方法才对的
作者: dycadrtf    时间: 2008-7-15 14:49
同意楼上所说
作者: 小孩    时间: 2008-7-15 15:01
因为QTP自来了方法,如果你不想使用QTP自带的方法可以使用它,当
使用到这个方法时QTP 就会使用你定义的方法,
作者: 小孩    时间: 2008-7-15 15:08
Public Function test(test_object)
      msgbox "is test "   ''当有WinButton使用Click时就执行这个函数,
End Function
RegisterUserFunc "WinButton", "Click", "test"
Window("计算器").WinButton("8").Click '执行到这句时就不会在计算器点8数字按钮了
作者: babyou1st    时间: 2008-7-16 15:39
据我所知,你在Test的Resources中添加了Lab1.vbs这个文件后,你就可以把你所写的方法应用到你所注册的对象Weblist中,好像不是你所采用的那种方法使用的吧?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2