大家知道VB是面向对象的,其中Class(类)是一个“模板”,对象是由它而创建的。类中的代码描述了从该类创建的对象的特性 (attribute) 和行为。
虽然Class(类)不是对象,但是它的确有定义其特性 (attribute) 的设计时属性 (property) 和定义其行为的事件。
类里的数据,是相对于类实例(也是,由类创建的每一对象)而独立存在的。
也是说,它存在于程序的存活期中;而类实例中的数据只存在于对象的存活期,它随对象的创建而创建,随对象的撤消而消失。
在编程的时候使用Class正是符合了OO(面向对象封装)的编程原则,我们在使用QTP进行自动化测试编程的时候也要时刻牢记这一原则,进行脚本设计。
然而,如何在QTP中使用Class呢,以下是本人写的一个在QTP中使用Class的例子,大家直接把它粘贴到QTP的Expert View中能看到效果了:)
Call Test
Class Tester
Dim mvarTesterName,mvarAge,mvarGender Sub Class_Initialize '构造函数 MsgBox "接下来,大家欢迎新同事的到来!" End Sub Sub Class_Terminate '析构函数 If mvarGender Then MsgBox "很遗憾," & mvarTesterName & "先生脱离了测试行业!" Else MsgBox "很遗憾," & mvarTesterName & "女士脱离了测试行业!" End If End Sub
Sub Test(ByVal ProjectName) MsgBox mvarTesterName & "正在加班加点的测试" & ProjectName & "呢!" End Sub Sub Eat(ByVal food) MsgBox mvarTesterName & "正在吃" & food & "呢,好爽啊!" End Sub Property Let Gender(ByVal vData) mvarGender = vData End Property Property Get Gender() Gender = mvarGender End Property Property Let Age(ByVal vData) mvarAge = vData End Property Property Get Age() Age = mvarAge End Property Property Let TesterName(ByVal vData) mvarTesterName = vData End Property Property Get TesterName() TesterName = mvarTesterName End Property End Class
Sub Test() Set sb = New Tester '创建一个对象,对象名叫somebody,它是由Tester创建出来的 sb.TesterName = "songfun" sb.Age = 29 sb.Gender = True sb.Eat "HagenDaz" sb.Test "手机" If sb.Gender Then MsgBox sb.TesterName & "先生年方" & sb.Age Else MsgBox sb.TesterName & "女士芳龄" & sb.Age End If Set sb = Nothing End Sub