在QTP中,description对象的用途基于这样一个基础:QTP是建立在对象识别基础上的自动化测试工具,当需要操作一个对象时有三种方式:1,使用对象库中已经记录的控件名;2,使用描述性编程;3,使用description对象。 其实对于2和3的理解是类似的,也就是说,当QTP在执行过程中需要给他一个描述,即“我要操作谁”,对于第二种方式,是告诉QTP“你给我找一个控件对象,找到它可能需要经过几层查找,但是我已经给定了每层查找的查找条件”;对于第三种方式,一般是这样告诉QTP,“我现在有某个控件对象,你帮我查找某些符合条件的孩子”。 接下来让我们来看两个最佳的实践内容;
了解Description描述性编程之一
现在有一个测试要求,网页上有10个同类控件的操作。我们的解决办法可以是:一个一个入对象库然后分别赋值;这样当然能达到要求,但是有两个问题:一后期维护时可能会搞混,有些人说我维护的对象库很明确一看就明白,那么就引发第二个问题,如果需求觉得我现在控件需要加到20个、30个……甚至我现在要求动态的显示多少控件;那你怎么办?没关系Description描述性编程帮你解决这个问题,让我们来看实战1;
要对如图的Edit进行赋值代码如下:
了解Description描述性编程之二
现在有一个测试要求,一个动态树结构,你知道右边的WebElement, WebElement点击只可以展示该结构下的员工信息、不可以打开数结构,要展开数结构需要点击前面的箭头展开;打开几层以数组形式给你如:资讯总处/电子商务应用处/应用系统开发部/应用设计课;但是WebElement和面箭头ID有一定联系联系如
WebElemen 的ID为:aaaaGDBL.HrPositionCompView.TreeNodeType.0.childOrg.1-cnt-start
对应的展开图片的id为: aaaaGDBL.HrPositionCompView.TreeNodeType.0.childOrg.1-exp
我们需要找到叶子节点,然后点击该WebElemen 找对对应的员工ID
如图所示:
代码如下:
因为这里贴vb的代码没办法识别,所以用截图,需要源码的以上是联系方式;谢谢!