UFT:入门(二):示例解释对象库工作逻辑
1、打开UFT,加载Web add-in。
2、打开IE/Chrome,进入百度首页www.baidu.com
3、打开UFT本地对象库,打开Resources菜单下的ObjectRepository
4、添加对象到本地对象库
Object菜单下的Add Object to Local
点击百度输入文本框
点击OK后,就出现在对象库了
选中wd对象,使用View菜单下的Highlight in Application,如果浏览器中的输入框闪烁说明UFT能正确定位对象
以相同步骤添加“百度一下”按钮
5、刷新Toolbox以显示新添加的对象
刷新后界面
6、拖拽wd对象到右侧编辑区(或双击wd对象):
在Set后输入参数:
7、拖拽“百度一下”对象到编辑区(或双击对象)
8、运行脚本。
Run菜单下的Run
点击Run
运行后结果:
代码结构:
父对象Class(“父对象Name”).子对象Class(“子对象Name”).方法 [参数]
解释:对象库如何工作:
1、添加“百度一下”按钮到对象库(参考“第一个脚本”1-4步),使用Highlight可以定位对象。如图,“百度一下”对象的name属性是“百度一下”
2、修改“百度一下”对象的name属性为“百度一下修改”,并将“Enable Smart Identification”的Value改为False。再使用Highlight,UFT提示错误“不能在应用中找到选择的对象”
3、打开IE的开发者人员工具(F12),如图,使用鼠标形按钮选择“百度一下”按钮。选择后HTML代码定位到相应元素。修改“百度一下”按钮元素的value值为“百度一下修改”
修改前代码:
<inputclass="bg s_btn" id="su"onmouseout="this.className='bg s_btn'"onmousedown="this.className='bg s_btn s_btn_h'"type="submit"value="百度一下"/>
修改后代码:
<inputclass="bg s_btn" id="su"onmouseout="this.className='bg s_btn'"onmousedown="this.className='bg s_btn s_btn_h'"type="submit"value="百度一下修改"/>
修改后页面:
修改后在对象库中选择“百度一下”对象使用Highlight,UFT又能正确定位了。
4、修改“百度一下”按钮位置,如图:
修改后在对象库中选择“百度一下”对象使用Highlight,能正确定位
5、复制“百度一下”按钮代码,在页面上再添加一个按钮,修改后如图
修改后在对象库中选择“百度一下”对象使用Highlight,能正确定位。QTP提示错误:有多个符合描述的对象
添加界面上两个“百度一下”按钮到对象库,现在对象库里有三个“百度一下”按钮对象,对比属性,只有ordinal identifier部分不一样。
界面只有一个按钮时添加的对象Type,Value值是None
界面有两个个按钮时添加的对象Type,Value值分别是”index,1”和”index,2”
对象库工作模型:
1、添加对象时:
1.1、QTP Spy被测软件被选中的对象,获取对象的属性集合和对象类型。
1.2、按照Object Identification中相应对象类型的设置,筛选属性集合后存入对象库。
1.3、打开Tools菜单下Object Identification,如图,以WebButton为例。
2、运行时:
2.1、如运行到第二行
QTP读取对象库中Class是WebButton,name是“百度一下”的对象,获取属性集合(TO)。
2.2、获取被测软件上的对象集合。
2.3、获取第一个对象的属性集合(RO)。对比RO和TO。
2.4、如果属性值不一致,获取第二个WebButton对象的属性集合后对比。如果属性值一致,则触发WebButton对象的方法。
---------------------
作者:sanlengjingvv
来源:****
原文:https://blog.****.net/sanlengjingvv/article/details/18553145
版权声明:本文为博主原创文章,转载请附上博文链接!