- QTP 教程
- QTP - 首页
- QTP - 简介
- QTP - 测试自动化
- QTP - 环境设置
- QTP - 录制和回放
- QTP - 对象库
- QTP - 操作
- QTP - 数据表
- QTP - 检查点
- QTP - 同步
- QTP - 智能识别
- QTP - 调试
- QTP - 错误处理
- QTP - 恢复场景
- QTP - 环境变量
- QTP - 库文件
- QTP - 测试结果
- QTP - GUI 对象
- QTP - 虚拟对象
- QTP - 访问数据库
- QTP - 使用 XML
- QTP - 描述性编程
- QTP - 自动化对象模型
- QTP - 框架
- QTP - 设计框架
- QTP 有用资源
- QTP - 问答
- QTP - 快速指南
- QTP - 有用资源
- QTP - 讨论
QTP - 描述性编程
只有当对象存在于对象库中时,QTP 脚本才能执行。对象的描述是使用描述性编程创建的 -
当测试人员想要对对象库中不存在的对象执行操作时
当应用程序中的对象本质上非常动态时。
当对象库变得很大时,会导致性能下降,因为对象库的大小会增加。
当构建框架时,已决定根本不使用对象库。
当测试人员想要在运行时对应用程序执行操作,而无需了解对象的唯一属性时。
语法
使用描述性编程技术编写脚本有两种方法。他们是 -
- 描述对象
- 描述字符串
描述对象
脚本是使用依赖于所用属性及其对应值的描述对象开发的。然后,这些描述用于构建脚本。
'Creating a description object Set btncalc = Description.Create() 'Add descriptions and properties btncalc("type").value = "Button" btncalc("name").value = "calculate" btncalc("html tag").value = "INPUT" ' Use the same to script it Browser("Math Calc").Page("Num Calculator").WebButton(btncalc).Click
描述字符串
对象的描述是使用属性和值作为字符串开发的,如下所示。
Browser("Math Calc").Page("Num Calculator").WebButton("html tag:=INPUT","type:=Button","name:=calculate").Click
子对象
QTP 提供了 ChildObjects 方法,使我们能够创建对象集合。父对象在 ChildObjects 之前。
Dim oDesc Set oDesc = Description.Create oDesc("micclass").value = "Link" 'Find all the Links Set obj = Browser("Math Calc").Page("Math Calc").ChildObjects(oDesc) Dim i 'obj.Count value has the number of links in the page For i = 0 to obj.Count - 1 'get the name of all the links in the page x = obj(i).GetROProperty("innerhtml") print x Next
序数标识符
描述性编程用于编写基于序数标识符的脚本,这将使 QTP 能够在两个或多个对象具有相同属性时对这些对象进行操作。
' Using Location Dim Obj Set Obj = Browser("title:=.*google.*").Page("micclass:=Page") Obj.WebEdit("name:=Test","location:=0").Set "ABC" Obj.WebEdit("name:=Test","location:=1").Set "123" ' Index Obj.WebEdit("name:=Test","index:=0").Set "1123" Obj.WebEdit("name:=Test","index:=1").Set "2222" ' Creation Time Browser("creationtime:=0").Sync Browser("creationtime:=1").Sync Browser("creationtime:=2").Sync
广告