|
原帖由 dawee 于 2007-6-22 21:09 发表
大家可以拿去 研究一下
也可以直接跟帖讨论,这样效果可能更好:)
希望大伙踊跃发言,我是抱着必能引来玉的想法才抛砖的
请不要用于任何商业用途,仅供个人研究使用
说明:5个压缩包。解压以后大概8M左右
说下我的看法。
脚本的优点之一是用了自定义的日志管理TestLib.CLib和消息管理SQAMsgbox.CMsgbox,QTP本身对日志和消息的支持都不多。用自己开发的模块可以大大弥足这方面的不足;
脚本的优点之二是代码比较规范,具体表现在:
变量声明 - 在脚本开头使用了强制显示声明语句"Option Explicit"
对象释放 - 每个Action的结尾都将FSO一类的对象释放"Set fso = nothing"
Recovery - 脚本里使用了不少Recovery,这样可以有效地把与测试无关的场景隔离到脚本外面,同时增加脚本的强壮性
代码缩进 - 和变量声明一样,合理的代码缩进也增加了代码的可读性
脚本的不足之处也比较明显,不知道这个脚本是不是Demo所以没有优化。
Action执行顺序 - 脚本里面没有全局控制Action执行顺序的地方。其实这是QTP本身的一个缺点,就是一旦设计好了Action的执行顺序以后就没有机会再改变了。这个脚本也不例外。想了解真个脚本中的各个Action的执行顺序,只能到Action0下面找到Script.mts文件并用Notepad打开查看
- Call RunAction("Action_Init", oneIteration) @@ script comments_;_'~Action_Init_;_
- Call RunAction("Login_As_Admin", oneIteration)
- Call RunAction("Admin_Side_Script_0", oneIteration) @@ script comments_;_'~Admin_Side_Script_0_;_
- Call RunAction("Daily_Side_Script_Part1_0", oneIteration)
- Call RunAction("Daily_Side_Script_Part2_0", oneIteration)
- Call RunAction("Action_End", oneIteration) @@ script comments_;_'~Action_End_;_
复制代码
这给改变Action执行顺序,以及中间插入新的Action都带来不便。
Action代码长度 - 每个Action就像一般程序中的模块一样,代码不易过长。但是Admin_Side_Script_0这个Action的代码已经超过了2000行,降低了代码的可读性
对象库 - 不知道这个测试脚本是在QTP的哪个版本下开发的,对象库中的对象比较乱。因为没有设置适当的对象识别规则,所以对象都以Browser,Browser_1,Browser_2这样的形式出现。也降低了代码的可读性 |
|