erwinsun 发表于 2008-10-10 14:43:47

框架交流贴

这段时间闲来无事,就把已经的断断续续的脚本都进行了整理后,花了3周的时间,累计写了差不多4000行的脚本,总算是把一直以来想做的也做完了也算是对4年QTP使用的的总结,目前已经告一段落。
主要实现的功能:完成测试脚本生成、测试参数读取、测试执行、测试报告生成、测试报告邮件发送等一个完整的测试过程。尽量提高脚本的可维护性。
一、      支持Windows计划作业定时或周期计划自动运行测试脚本。
二、      支持场景和测试集模式运行。
三、      脚本支持2种对象库模式:1、QTP本身的对象库模式。2、描述性对象模式。通过参数表的设置来进行实现。
四、      运行结果的保存到参数文件。
五、      能根据运行的结果生成HTML的文件。
六、      写了一些容错和错误捕捉的功能,目前能实现IE弹出窗口的自动回复,并能自动截图。
七、      提供了运行测试集过程中,如果出现错误,调用基本函数来进行错误恢复。
八、      支持运行结果已outlook或jmail是来发送测试结果。
九、      所有的Function之间都是以对象或是数组的方式进行传值。
十、      调用QTP对象来运行脚本,运行过程中QTP不可见。
十一、   对于对象库模式下,所有的业务操作都必须是以Function的形式来编写。

参数表见附件,bs附件限制,下载请去掉doc的扩展名。

对象库模式下,函数的例子:
实现的业务功能函数名:Login
定义保存操作的步骤和值的数组,长度一般是操作步骤X2,例子中共有三个对象操作,所以数组的长度为6,所以定义数组为ObjectArray(5)。
然后依次按业务操作属性,对数组赋值,赋值的规则是:
先赋对象,然后赋对象的参数,对象赋值要用Set。如:
et ObjectArray(0) = Browser("登录界面").Page("登录界面").WebEdit("edtuser")
ObjectArray(1) = Environment.Value("用户名")
赋值完成后,要把数组赋给函数返回,由QTP_AutoFrame.vbs 文件中的RunFunction函数来进行具体的操作。

Example:
Function Login()
Dim ObjectArray(5)
Set ObjectArray(0) = Browser("登录界面").Page("登录界面").WebEdit("edtuser")
ObjectArray(1) = Environment.Value("用户名")
Set ObjectArray(2) = Browser("登录界面").Page("登录界面").WebEdit("edtpwd")
ObjectArray(3) = Environment.Value("密码")
Set ObjectArray(4) = Browser("登录界面").Page("登录界面").WebButton("WebButton")
ObjectArray(5) = ""
Login = ObjectArray
End Function

[ 本帖最后由 erwinsun 于 2008-10-10 15:00 编辑 ]

yabest 发表于 2008-10-10 16:13:12

好像比较复杂哦

zitong 发表于 2008-10-10 17:24:26

貌似很复杂,抢个沙发~~~~

FLY000 发表于 2008-10-10 18:07:54

最近很忙,没时间,先留个脚印:)

假装不在 发表于 2008-10-10 19:11:33

:lol 感觉,第一个人给QTP框架带来思路后,以后很多人都围绕着这样的模式去做着....

zte_boy 发表于 2008-10-10 19:25:34

个人感觉,有点简单的问题复杂化了,呵呵

Randall 发表于 2008-10-10 22:04:04

貌试很多框架都差不多这样:hug:

Fastpoint 发表于 2008-10-14 21:43:57

:) :time: :loveliness:

wscqb 发表于 2011-2-17 11:33:32

收藏了,学习中
页: [1]
查看完整版本: 框架交流贴