51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 55564|回复: 92
打印 上一主题 下一主题

[原创] 在QTP中如何使用Class(类)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-4 23:03:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
大家知道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
'****************************************************************

[ 本帖最后由 songfun 于 2007-8-5 00:51 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

93#
发表于 2013-8-6 11:41:15 | 只看该作者
学习了,多谢。
回复 支持 反对

使用道具 举报

该用户从未签到

92#
发表于 2012-11-14 10:00:48 | 只看该作者
很好,留着参考,本人正在慢慢学习SQL,相信从你这可以学习到很多东西
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-10-16 12:32
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    91#
    发表于 2012-6-11 19:58:34 | 只看该作者
    那为什么我在用class时,方法中使用let或get会提示错误呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    90#
    发表于 2012-5-13 19:33:49 | 只看该作者
    努力~~各位。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    89#
    发表于 2012-5-2 17:46:59 | 只看该作者
    很好的抛砖引玉的帖子!不错,很发散大家的思维。
    真正的把自动化诠释了,它不只是一个工具,更多的是一种开发雏形----思想····
    在熟悉它的同时去提高它扩展它,自动化需要你们,+U
    适合产品的自动化才是好的自动化,永远不要偏离本质
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    88#
    发表于 2012-3-1 11:16:25 | 只看该作者
    高人到处有啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    87#
    发表于 2012-2-28 01:11:15 | 只看该作者
    这个可以回,这个真得回!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    86#
    发表于 2012-2-15 11:18:46 | 只看该作者
    美文共赏析学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    85#
    发表于 2011-12-19 14:58:28 | 只看该作者
    有介紹QTP錄制ORcle相關的信息嗎?期待....
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    84#
    发表于 2011-11-17 13:25:26 | 只看该作者
    很精彩,QTP刚入门,要好好学习:)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    83#
    发表于 2011-7-19 17:25:19 | 只看该作者
    感觉类是一个封装的集合呀,不过宋老师,你那个对象居然叫sb..我晕
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    82#
    发表于 2011-6-16 16:40:00 | 只看该作者
    好强,被震撼了!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    81#
    发表于 2011-5-5 15:40:28 | 只看该作者
    up
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    80#
    发表于 2011-5-4 14:54:38 | 只看该作者
    面向对象,八错八错,顶顶!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    79#
    发表于 2011-3-8 17:11:34 | 只看该作者
    好久没上论坛了。也好久没看到好贴了。留下脚印。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    78#
    发表于 2010-12-17 11:09:43 | 只看该作者
    我公司2010年6月份刚在纳斯达克上市,现在要找一名自动化测试组长,薪酬福利良好;

    我们项目组需要招聘自动化测试组组长,职位信息如下:
    1.计算机相关专业本科以上学历,熟悉软件工程师学原理;
    2.软件测试相关经验3年以上,其中至少包括2年功能自动化测试经验;
    3.熟悉QTP工具的使用,了解QTP原理和对象识别机制;
    4.熟悉VBScript脚本语言,能进行相关自动化脚本函数的编写;
    5.较强的语言表达和文档编写能力及良好的沟通技巧;
    6.有金融银行基础业务知识经验、有网银业务经验为佳;
    7.有自动化框架编写、设计经验和软件开发经验有团队管理经验为佳;
    8.熟悉Java、J2EE 、WebSphere 、Application Serve、DB2、Oracle等为佳
    9.有Unix平台的使用经验(AIX/Solaris/HPUX/Linux)为佳;

    如果你想了解更多以些,请发邮件留下您的联系方式,欢迎各专业人士来信咨询 谢谢:
    shanjing1983@163.com
    sophiashan07@hotmail.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    77#
    发表于 2010-11-20 17:17:15 | 只看该作者
    呵呵,我现在一个三流学校的小专,正打算用类的思想去试着写一个系统的UI自动化脚本
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    76#
    发表于 2010-11-4 14:03:27 | 只看该作者
    我还是新手进来感受下气氛~大家都好厉害的样子,看样子还得好好学习才行呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    75#
    发表于 2010-10-25 12:16:00 | 只看该作者
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-8 03:22 , Processed in 0.076579 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表