51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1911|回复: 3
打印 上一主题 下一主题

[求助] 紧急求助,关于ACTION内部定义的类的引用问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-4-3 09:39:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题:
    我在ACTION 1 中定义了CLASS MiniP
    我在其他ACTION内如何调用这个类?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-4-3 10:57:22 | 只看该作者
结贴,找了半天,终于找到方法了
VBS文件:
'=============================CLASS INTERFACE==========================
Function MiniPInitialize()
        Set MiniPInitialize = new  MiniP
End Function
'==============================CLASS MINIP==========================
Class MiniP
   Public KeyBord
   Public Mouse
   Public bRespMode
   Private Sub Class_Initialize   ' Setup Initialize event.
                   Set KeyBord = CreateObject("Wscript.Shell")
                   Set Mouse = CreateObject("GTestCom.Mouse")
                bRespMode = true
   End Sub
   
   Private Sub Class_Terminate   ' Setup Terminate event.
                   Set KeyBord = Nothing
                   Set Mouse = Nothing
   End Sub

   Public Function OpenApp(ByVal szAppPaths,ByVal szWorkDir)
        InvokeApplication szAppPaths,szWorkDir
   End Function

   Public Function ClossApp()
                 If Window("MiniP").Exist Then
                        Window("MiniP").Maximize
                        Window("MiniP").Close
                 End If
   End Function

   Public Function OpenProject(ByVal szProject)
                Window("MiniP").Maximize
                Window("MiniP").WinMenu("Menu").Select "工程(F);打开(O)        Ctrl+O"
                Window("MiniP").Dialog("打开").WinEdit("文件名(N):").Type szProject
                Window("MiniP").Dialog("打开").WinButton("打开(O)").Click
                Window("MiniP").Window("ATM Log").Maximize
   End Function

   Public Function MaxSize()
            Window("MiniP").Maximize
   End Functi
   Public Function MiniSize()
            Window("MiniP").Minimize
   End Function

   Public Function CloseProject()
                Window("MiniP").Maximize
                Window("MiniP").WinMenu("Menu").Select "工程(F);关闭(C)        Ctrl+C"
   End Function

   Public Function OnClassify(ByVal index)
                Dim hwnd
                hwnd = Window("MiniP").GetROProperty("hwnd")
                Mouse.PostMsg hwnd,&H0401,5,index
   End Function
End Class
tsr对象文件:
      上面需要用到的对象都用QTP抓取到后EXPORT出来.

其他QTP脚本调用上面类的方法如下:
      导入资源vbs,导入TSR对象文件.
      然后脚本里添加如下代码:
      Dim MyObj
      Set MyObj = MiniPInitialize()
      之后你就可以随意使用这个类了.

类封装比函数封装多出很多优势的.
   函数封装里的每个函数要求独立性比较强,函数间数据只能通过参数进行联系.
   而类封装只要类没有被释放,那么你里面定义的公共属性,成员等都可以持续使用和关联.免去需要在另一个脚本上编写和定义变量来传递和控制.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-4-3 13:55:46 | 只看该作者
用法是MyObj. OnClassify(1)
对吗?

[ 本帖最后由 david208 于 2009-4-3 16:38 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-5-21 17:59:26 | 只看该作者
是的
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 09:54 , Processed in 0.081840 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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