在QTP中如何使用Class(类)

发表于:2007-8-07 09:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:锋在吹    来源:51Testing论坛

#
QTP

        大家知道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

转载请注明来源

《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • vany_w707
    2007-8-10 10:53:03

    跑了一下代码.很是好玩.^_^
    可是没觉得需要用类的情况呢.

  • tails82
    2007-8-07 17:57:21

    原来是宋大侠,怪不得老有新创新啊:)

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号