如果对象没有添加到对象库,QTP怎么工作呢?可以利用描述性编程解决这个问题。
最简单的说,DP就是在描述每个对象的属性和属性值。通过这个原理来虚拟成对象库中的对象。
描述性编程的第一种方式:
编写形式:对象名(“属性名:=属性值”)
按照对象的结构顺序一层一层往下描述,直至定位最终想要操作的对象
例如:
上面的代码中都是以单属性及其属性值来描述一个对象的。对一个对象也可以有多个属性值描述(可以描述的属性必须是QTP内置的),
描述多个属性时,属性间用逗号隔开(逗号是英文状态下)。描述性编程语法对了,但如果描述的属性值没有设置对,运行时会出错。
如果父对象描述了,子对象一定要描述。
如果子对象描述了,父对象可以不描述,但要成功运行的前提是被添加到对象库里。
描述性编程的第二种方式:
使用Description对象,使用该对象可以返回一组Property对象的Properties集合对象。Property对象由属性名和值组成。
要创建Properties集合,需要先创建Properties对象,然后在Property对象中添加、编辑、删除属性和属性值了。
也就是说,将对象的属性及其属性值的描述封装在一个Description对象中。
例如:
执行完后,关键字视图显示如下:
在浏览器中显示如下:
个人认为第一种方式简单些,代码量要少些。在对象库编程无法完成某些要求时,可以添加描述性编程语言。两种方式相结合才能更有效率的进行测试。