QTP中使用自定义vbs类

Quirita ·
更新时间:2024-09-21
· 922 次阅读

  发现直接在resource中加载含有calss的vbs文件,QTP无法识别类,导致脚本中无法new类对象。   解决办法有四种:   1、直接在action脚本中定义类,然后action中任何地方都可以实例化类   2、用executefile引入类定义文件,然后action中任何地方都可以实例化类   3、在function lib中定义类,并实例化类,然后再action中直接使用类实例   4、在function lib中定义类,并定义一个实例化类的函数,然后再action中调用该函数对类进行实例化   补充:第四种实现方法如下:   把vbs文件加载到Resources中后,我用以下方法绕过QTP不识别导入的vbs文件中的类的问题。   在放置class(类)的vbs文件中,放置以下函数: ------------------------------------------------------------------------------------------------------------------ ' '* 功能:由于QTP不识别导入的VBS文件中的类,因此定义此函数来返回相应的对象 '* 输入参数:className  :要建立对象的类名 '* 返回值:返回类对象 '* 编写人:  chenyb '* 编写日期:2008-10-16 '* 其他说明:以下只是方法,根据需要再扩展 ' Public Function newClass(className) Dim strSentence,obj strSentence = strSentence & "set obj = New " & className '创建对象 Execute strSentence  '执行字符串语句 Set newClass = obj   '返回对象 End Function   参考QTP下vbs伪类构造器的设计:   有一段时间没上博客了,不过博客还是不能拖呢,每每在我快要放弃的时候总会有许多网友在告诉我该更新了,我们等着你的讲座,虽然讲座写到后来已经有些疲倦,但有了你们的支持,我还会一直继续,讲座还会一直继续。   进入正题,要讲的内容与VBS类关联比较密切,在看本次讲座之前建议大家首先熟悉一下类的组成, 这样对于学习本次讲座内容会比较轻松。如果平时在自动化测试过程中经常使用类的朋友应该会清楚,在Resources中引用带有类的vbs函数库之后,是不可以直接在QTP脚本编辑器中直接进行类的初始化的。具体我们来看下例子。   1.首先我们编写一个vbs函数库,脚本如下: Class ExcelClass Sub t1() MsgBox "t1" End Sub Sub t2() MsgBox "t2" End Sub End Class   2.在QTP的File --> Settings --> Resources中引用此函数库



qtp vbs

需要 登录 后方可回复, 如果你还没有账号请 注册新账号