51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4053|回复: 10
打印 上一主题 下一主题

[原创] 网上流行的一自动化框架动态执行的代码段

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-5 23:52:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
框架还是蛮有意思的。
   再和我们的框架对照下(思路、目录结构、分层等),很多思想基本相通:)
   其中动态执行代码最吸引我:)  

className=”login”
taskFileName=”login”
Taskfilepath=”login.vbs”

  ExecuteFile taskFilePath '加载task脚本文件
                                logPrint("加载Task脚本文件完成。"&taskFilePath)
                                Execute "Set obj"&taskFileName&" = new "&taskFileName '初始化task的类
str = "obj"&className&"."&taskName&" "&chr(34)&Sheet_Name&chr(34)
                                                        logPrint("执行测试步骤 "&i&", "&str)
                                                        Execute str     ''执行 objlogin.login "login","TEST_SHEET"


Execute "Set obj"&tempArray(i)&" = nothing"

[ 本帖最后由 liangjz 于 2008-7-6 00:11 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-6 00:06:55 | 只看该作者
呵呵,这个要求所有的业务脚本都是function形式组织的,个人觉得还是有他的弱点
编码的工作量比较大,对于业务脚本我还是喜欢用action来组织
但是脚本的调度还是和这个框架提供的方法一样,他提供class,我则是维护action名
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-7-6 02:18:48 | 只看该作者
代码写得很有意思,膜拜一个....
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2017-7-4 15:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2008-7-6 11:18:15 | 只看该作者
    这个我看过了,写的不错。但是执行起来有难度。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-7-6 12:07:06 | 只看该作者
    支撑实现这些框架最核心的是用到Execute语句:
    http://blog.csdn.net/Testing_is_ ... /04/19/2307970.aspx
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-7-7 09:55:46 | 只看该作者
    这个框架我很久用了,对上面的代码其实有些不够好的,可以参考MVC框架的思想。 其实对目前自动化1框架有两个问题我觉得很重要:1)数据独立出来并且最好统一的管理和维护;2)业务逻辑和应用逻辑应该分离,这样能很好的使用业务逻辑变化引起的应用逻辑的修改,但要这样做的话,就需要一个让业务逻辑和应用逻辑不要直接发生调用关系,如上面提到的代码一样,把这部分代码抽象出来并封装一下,成为controller,让后让它来动态调用各种业务逻辑。
    当然业务逻辑你可以用方法,也可以用类,也可以用啊action
    同时这种框架可以很好的扩展到N架构上
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-7-7 10:22:20 | 只看该作者

    回复 6# 的帖子

    同一楼上的,我目前就是把控制函数封装起来调用的,呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2008-7-7 13:07:07 | 只看该作者
    目的都是减少耦合
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-7-19 10:48:26 | 只看该作者
    原帖由 liangjz 于 2008-7-5 23:52 发表
    框架还是蛮有意思的。
       再和我们的框架对照下(思路、目录结构、分层等),很多思想基本相通:)
       其中动态执行代码最吸引我:)  

    className=”login”
    taskFileName=”login”
    Taskfilepath=”login.vb ...


    什么流行的框架啊,我没见过,发出来给偶们看看吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-7-19 17:38:50 | 只看该作者
    Execute确实是个好东西。可以执行动态生成的代码。

    它是VBS所独有的语句,在VB中不支持。我之前曾试图找过这种语句。

    可凭着对VB的了解,我后来放弃了。昨天晚上在读别人的代码的时候无意中发现了这条语句。

    [ 本帖最后由 tanky 于 2008-7-19 17:59 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-7-19 17:48:37 | 只看该作者
    附表两张: 下表列出未包含在 VBScript 中的 Visual Basic for Applications 特性。
    类别特性/关键字
    数组处理Option Base
    声明数组下界 <> 0
    集合Add, Count, Item, Remove
    使用 ! 字符访问集合
    条件编译#Const
    #If...Then...#Else
    控制流程DoEvents
    GoSub...Return, GoTo
    On Error GoTo
    On...GoSub, On...GoTo
    Line numbers, Line labels
    转换CVar, CVDate
    Str, Val
    数据类型除 Variant 外的所有固有数据类型
    Type...End Type
    日期/时间Date 语句、Time 语句
    DDELinkExecute, LinkPoke, LinkRequest, LinkSend
    调试Debug.Print
    End, Stop
    声明Declare (声明 DLL )
    Optional
    ParamArray
    Static
    错误处理Erl
    Error
    Resume, Resume Next
    文件输入/输出所有传统的基本文件输入/输出 (I/O)
    财务所有财务函数
    对象操作TypeOf
    对象Clipboard
    Collection
    运算符Like
    选项Deftype
    Option Base
    Option Compare
    Option Private Module
    选择条件包含 Is 关键字或任何比较运算符的表达式
    包含一系列使用 To 关键字的数值的表达式
    字符串固定长度字符串
    LSet, RSet
    Mid 语句
    StrConv


    下表列出了未包含在 Visual Basic for Applications 中的 VBScript 特性。
    分类特性/关键字
    声明Class
    杂项Eval
    Execute
    对象Regexp
    Script 引擎标识ScriptEngine
    ScriptEngineBuildVersion
    ScriptEngineMajorVersion
    ScriptEngineMinorVersion


    [ 本帖最后由 tanky 于 2008-7-19 18:01 编辑 ]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 06:56 , Processed in 0.085827 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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