使用FrameworkManager框架自动化开发指南.doc
文本预览下载声明
使用FrameworkManager框架自动化开发指南
=框架使用=
加载框架及使用
在QTP中选择File-Setting-Resources
将以下文件添加进去。如有必要可以点击Set as Default。
clsTreeLevel.vbs
General.vbs
InputClasses.vbs
RandomValueClasses.vbs
同时修改clsTreeLevel.vbs文件中的Excel地址,指向自己设定的对象库文件。
使用框架样例如下:
oRoot.GetLeaf(“root_Browser_Page_WebEdit”).Input(“aa”) ‘输入值,可使用变量或参数。
oRoot.GetLeaf(“root_Browser_Page_WebEdit”).Input(“random”) ‘输入随机值
多系统
Const sExcelFile = \\hsz-85\share\Demo\ObjectTreeDemo.xls
Public oRoot
Set oRoot = New clsTreeLevel
oRoot.BuildRootFromFile(sExcelFile)
将clsTreeLevel.vbs文件中的以上4行代码剥离为单独一个文件。每个系统都有一个这样的文件用于指向自己系统的对象库。好处是当框架本身进行了维护之后,所有系统都能够使用到最新的框架
分工合作(多Excel)
Const sExcelFile = \\hsz-85\share\Demo\ObjectTreeDemo.xls
Public oRoot
Set oRoot = New clsTreeLevel
oRoot.BuildRootFromFile(sExcelFile)
Const sExcelFile2 = \\hsz-85\share\Demo\ObjectTreeDemo2.xls
Public oRoot2
Set oRoot2 = New clsTreeLevel
oRoot2.BuildRootFromFile(sExcelFile2)
这里主要是为了多人同时开发一个系统而准备的。上面的4行代码是否剥离为单独一个文件不影响本处的处理。主要是在声明常量sExcelFIle和变量oRoot这里,有多少个人同时开发,就需要声明多少个不同名字的常量和变量(如上面声明了2个不同的对象),这样才能在整合脚本的时候不会因为对象库冲突导致出现问题。
=代码相关=
检查对象属性
Set Pages=Browser(micclass:=Browser).Page(micclass:=Page)
Set oDesc = Description.Create()
oDesc(html id).Value = htmlid
Set Lists = Pages.ChildObjects(oDesc)
all=Lists.count
用上面的代码可以检查根据需要的属性是否能够识别到对象,以及识别到对象的个数。通常可以用来判断DPID的属性是否能唯一标识对象(如果有重复的all的值会大于1)
=Excel对象库=
关于DPID
这里是对象的识别属性,不需要太多也不能太少,只要能够保证唯一标识到对象即可。
另外这里支持正则表达式,不过好像主要对英文有效。
如果遇到实在无法区分的对象,可以再加上index属性,表示第几个对象,从0开始。
例如有2个button,只有一个属性标识Micclass:=WebButton,此处可以加上index,第一个button的属性可以写成Micclass:=WebButton|index:=0
关于QTPClass
这里一定要严格的按照对象在QTP中的类别填写。
关于Condition
本处如果写了内容,框架会判断填写的条件是否满足,如果不满足则不会对对象进行操作。
条件的格式:FieldNameExpectedValue或者FieldName%NOT%UnExpectedValue
FieldName是对象的完整路径(如:root_Browser_Page_WebEdit)。前者的意思是FieldName这个对象的值为ExpectedValue时才允许当前对象的输入。后者的意思是FieldName这个对象的值不等于UnExpectedValue时才允许当前对象的输入。
目前只支持单一条件的判断。
关于PreActions
这里的意思是在当前对象输入之前先给一个或几个对象输入值。完成之后才做当前对象的输入。
这里输入的格式类似于FieldName1Value1|FieldName2Value2,如果超过一个FieldName需要使用 | 分隔。如果输入空值使用%EMPTY%。
关于PostActions
显示全部