查看完整版本: 网上流行的一自动化框架动态执行的代码段

liangjz 2008-7-5 23:52

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

框架还是蛮有意思的。
   再和我们的框架对照下(思路、目录结构、分层等),很多思想基本相通:)
   其中动态执行代码最吸引我:)  

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"

[[i] 本帖最后由 liangjz 于 2008-7-6 00:11 编辑 [/i]]

zte_boy 2008-7-6 00:06

呵呵,这个要求所有的业务脚本都是function形式组织的,个人觉得还是有他的弱点
编码的工作量比较大,对于业务脚本我还是喜欢用action来组织
但是脚本的调度还是和这个框架提供的方法一样,他提供class,我则是维护action名
:lol

假装不在 2008-7-6 02:18

代码写得很有意思,膜拜一个....

peterz 2008-7-6 11:18

这个我看过了,写的不错。但是执行起来有难度。

陈能技 2008-7-6 12:07

支撑实现这些框架最核心的是用到Execute语句:
[url]http://blog.csdn.net/Testing_is_believing/archive/2008/04/19/2307970.aspx[/url]

yhw8663 2008-7-7 09:55

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

zte_boy 2008-7-7 10:22

回复 6# 的帖子

同一楼上的,我目前就是把控制函数封装起来调用的,呵呵

liangjz 2008-7-7 13:07

目的都是减少耦合

FLY000 2008-7-19 10:48

[quote]原帖由 [i]liangjz[/i] 于 2008-7-5 23:52 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=1011330&ptid=119476][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
框架还是蛮有意思的。
   再和我们的框架对照下(思路、目录结构、分层等),很多思想基本相通:)
   其中动态执行代码最吸引我:)  

className=”login”
taskFileName=”login”
Taskfilepath=”login.vb ... [/quote]

什么流行的框架啊,我没见过,发出来给偶们看看吧。:loveliness:

tanky 2008-7-19 17:38

Execute确实是个好东西。可以执行动态生成的代码。

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

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

[[i] 本帖最后由 tanky 于 2008-7-19 17:59 编辑 [/i]]

tanky 2008-7-19 17:48

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

下表列出了未包含在 Visual Basic for Applications 中的 VBScript 特性。
[table][tr][td=1,1,40%]分类[/td][td=1,1,60%]特性/关键字[/td][/tr][tr][td=1,1,40%]声明[/td][td=1,1,60%][color=black]Class[/color][/td][/tr][tr][td=1,1,40%]杂项[/td][td=1,1,60%][color=black]Eval
[color=red]Execute[/color] [/color][/td][/tr][tr][td=1,1,40%][color=black]对象[/color][/td][td=1,1,60%][color=black]Regexp[/color][/td][/tr][tr][td=1,1,40%]Script 引擎标识[/td][td=1,1,60%]ScriptEngine
ScriptEngineBuildVersion
ScriptEngineMajorVersion
ScriptEngineMinorVersion [/td][/tr][/table]

[[i] 本帖最后由 tanky 于 2008-7-19 18:01 编辑 [/i]]
页: [1]
查看完整版本: 网上流行的一自动化框架动态执行的代码段