天天看点

QTP中使用自定义vbs类

  解决办法有四种:

  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伪类构造器的设计:

  有一段时间没上博客了,不过博客还是不能拖呢,每每在我快要放弃的时候总会有许多网友在告诉我该更新了,我们等着你的讲座,虽然讲座写到后来已经有些疲倦,但有了你们的支持,我还会一直继续,讲座还会一直继续。

  1.首先我们编写一个vbs函数库,脚本如下:

class excelclass

sub t1()

msgbox "t1"

end sub

sub t2()

msgbox "t2"

end class

2.在qtp的file --> settings --> resources中引用此函数库

QTP中使用自定义vbs类

<a href="http://www.51testing.com/batch.download.php?aid=44139" target="_blank"></a>

QTP中使用自定义vbs类

  4.那么对于以上这种情况,我们一般所采用的方式是在函数库中建立一个函数,让此函数返回这个类的实例化。

'定义excelclass的无参构造

function newexcelclass

set newexcelclass = new excelclass

  5. 接着在qtp脚本编辑区中直接把这个函数返回就可以使用了

set eom  = newexcelclass

eom.t1

  思考:

  是否可以按照如图所示的方式把new excelclass作为函数名进行编写呢,这样我们就可以直接在qtp脚本区中进行new一个类出来,是不是更加直观呢,这一块我们会留到下一讲进行讲解。

QTP中使用自定义vbs类

  总结:

  这一讲内容比较基础,主要还是为了照顾一些新人,下一讲我们会继续深入讲解类构造器,主要会涉及到带参构造器的设计模式,请大家期待。

最新内容请见作者的github页:http://qaseven.github.io/

继续阅读