|
这段时间闲来无事,就把已经的断断续续的脚本都进行了整理后,花了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 编辑 ] |
|