您的位置:首页 > 编程语言 > Qt开发

[QTP] 描述性编程

2014-03-29 16:24 267 查看

1. 使用描述性编程的时机

录制方式的测试脚本创建是最简单和快捷的测试脚本开发方式,但是它太依赖测试对象库,有时会有一些问题。比如相同的元素,部分属性(比如名称、标题等)是动态产生的,那么在回放脚本中会导致找不到对象。如果用描述性编程编写的测试脚本,QTP会使用测试脚本中给出的对象描述来查找对象,查找的不是对象库,而是与测试程序运行时QTP为其创建的临时测试对象版本进行匹配,例如:

Browser("title:=百度一下*")
这里通过正则表达式来匹配Browser的标题,即使窗口是动态生成的,但标题都是以“百度一下”开头,所以可以用这个方式匹配所有标题以“百度一下”为开头的Browser对象。也可以组合几个属性来标识控件,例如:
Browser("title:=百度一下*", "index:=0")

2. 描述性编程的使用方法

这种直接描述的方式的一般使用格式如下:

TestObject("ProName1:=ProValue1", "...", "ProName2:=ProValue2")
通过直接指定测试对象的一个或多个PropertyName来描述控件,需要注意的是,属性和属性值之间要用":="分隔。

QTP还提供了一个Description对象,用于返回对象包含的属性,例如:

Set MyDescription = Description.Create();
MyDescription("title").Value="百度一下*"
MyDescription("index").Value=0
Browser(MyDescription)
另外还可以使用ChildObjects方法来获取某个父对象下面的所有子对象,例如:
Set childObjects = Browser("title:=百度一下*", "index:=0").ChildObjects()
msgBox childObjects.Count

3. 用编程方式创建检查点

通过编程方式创建检查点,对于不能使用普通检查点对象的情况来说会非常有用。比如需要检查的对象属性没有存储在对象库中,仍然可以自己创建检查点,把检查的结果写入测试结果中。

GetROProperty用来获取控件动态属性,例如:

If Browser("title:=百度一下*", "index:=0").GetROProperty("openurl") = "about:blank" Then
  Reporter.ReportEvent micPass, "CheckBrowser = PASS ", "测试通过"
End If


阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: