高级对象库.docx
- 文档编号:10439233
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:12
- 大小:495.17KB
高级对象库.docx
《高级对象库.docx》由会员分享,可在线阅读,更多相关《高级对象库.docx(12页珍藏版)》请在冰点文库上搜索。
高级对象库
对象库
1.对象的命名
在实际的操作过程中,针对相同名称的对象,QTP以对象名_1,对象名_2的形式表示,这样,如BROWSER下出现很多page同名的现象,此时就需要更改名称
更改方法:
2.对象属性的维护
我们经常会遇到需求发生变更之后,对象的属性值修改了,那么在回放的时候因为找不到实际对象和仓库对象的属性的匹配项,导致了找不到对象或则找错了对象,这样通过修改对象的属性值达达到回放成功的目的
修改对象的属性值,在上图的value一栏中修改就可以了
3.对象的结构整理
可以将测试对象进行分类,可以使用复制,粘帖,重命名的操作,如按照功能点进行分类,如下是录制后的结构图
修改成如下:
如上图,修改之后,专家视图中的对象名也做了相应的变化。
回放之后,发现回放成功。
4.添加新对象
手动添加对象可以这样操作:
然后选择要添加的的对象
注意:
如果要添加的对象被其他窗口遮住,只需要在抓捕对象的时候,把手型光标定位在要被捕捉的窗口,停留一段时间。
就可以把窗口激活,显示到前面。
停留的的时间可以在tools-options中设置,如图:
要添加的对象需要进行某些动作才能显示出来,操作时间,需要按住ctrl键,松开CTRL键,再捕捉对象。
如果含有多个对象,系统会提示让选择,如果是父类对象,系统会询问是否同时选择其下的子类对象
5.对象库的合并
1),对象库的保存,对象库保存会以tsr的格式保存在本地。
1、对象的合并
脚本1的对象库
脚本2的对象库
步骤1:
把脚本1的对象库和脚本2的对象库以tsr的形式导出
步骤2:
在resource->ObjectRepositoryManager
选择Tools->ObjectRepositoryMergeTool,弹出新建合并的窗口选择要合并的对象库,点击OK即可
如何导入对象库
答案:
选择resource->AssiciateRePositoies,选择保存好的Tsr文件
将各种对象合并之后,生成一个大的公共对象库,供所有的脚本调用。
即对象库的共享
步骤1:
生成tsr文件
步骤2:
合并对象库
步骤3:
共享对象库(resource->AssiciateRePositoies,选择保存好的Tsr文件)
注意:
对象库是针对Action的,如图,如果把在Action1里边的脚本放到Action2中那么,脚本会回放不成功。
在关键字视图中,Action2中,对象是以问号的形式显示的。
6.用户自定义对象
QTP根据Windows标准类名来判断对象的类型。
如果在被测程序中没有使用Windows标准类名,那么QTP在识别时可能会产生错误。
例如图3-9中黑框标出的勾选控件,它实际上是一个CheckBox控件,但当我们用对象监视器去查看它时,发现QTP将它识别为WinObject,如图3-10所示。
这是因为QTP并没有将它识别成标准测试对象类。
图3-9.对话框中的勾选控件
图3-10.CheckBox被识别成WinObject
因而,我们需要在设置中添加这种对象与标准类之间的映射关系。
打开Tools→ObjectIdentification。
在Environment栏选择StandardWindows。
然后点击下方User-Defined按钮。
在弹出的ObjectMapping对话框中,点击手型按钮,然后再点击我们图3-9中的CheckBox。
选择将它映射为CheckBox后,点击Add。
让我们再次用对象监视器查看此对象。
图3-11.用户自定义对象类映射关系
结果如图3-12,QTP已经将对象正确识别为WinCheckBox。
7.对象监视器(ObjectSpy)
对象库监视器用于监听对象自身的属性和方法。
启动方式有3种。
1,点击菜单栏Tools→Objectspy。
2,点击工具栏上的
图标。
3,点击对象库管理工具的
图标。
点击
按钮后,自由选择被测对象。
选择下方会显示出所有TO的属性和方法列表。
图3-6.TO属性和方法
选择下方会显示出RO的属性和方法列表。
大多数的属性都可以通过GetROProperty的方法来获取。
下来代码示例如何通过脚本返回特定的RO对象属性:
'Gettheouterhtmlofthewebedit
sOuterHTML=Browser("").Page("").WebEdit("").GetROProperty("outerhtml")
Note:
对象监视器不会显示出所有原始的对象属性,一些特殊属性例如CreationTime、index或Location只有在对象被添加到对象库中后才会被定义。
图3-12.用户自定义对象被识别成CheckBox
8.对象识别原理
对象识别是测试执行过程中至关重要的一个环节。
实际就是关系到QTP如何依据当前代码与对象库,从被测程序中找到相应的对象。
QTP在录制对象属性时,并不是任意录制所有属性,而是按照QTP内部设置好的对象属性组合录制。
例如,对于一个WebCheckBox控件,QTP通常只录制Htmltag、name、type这3个属性的值。
我们可以通过修改设置来改变录制时的对象属性组合,从而满足测试的需要。
从菜单Tools→ObjectIdentification进入。
QTP根据3种不同类型的属性来识别对象:
●强制类属性——通常这类属性都会完整的保存到对象库中,尽管某些属性在识别对象时不总需要使用到。
●辅助类属性——如果通过强制类属性也无法唯一确定一个对象,QTP就会安顺序依次添加辅助类属性,直到可以唯一确立对象为止。
●序号类属性——如果通过强制类属性和辅助类属性都无法唯一确定对象,QTP会根据序号类属性再次识别。
序号类属性分3种:
CreationTime、Location、Index。
图3-8.对象属性设置
图3-8中显示的是WebCheckBox控件默认的强制类属性组合。
Note:
以上设置与脚本无关,而是关系到QTP在录制和识别对象时所需的属性,根据需要来增加或减少。
SmartIndentification
如果在对象库里面,对某个对象的SmartIndentification设置为True,那么当根据DescriptiveProperties无法找到一个完全相匹配的对象时,QTP就会启动SmartIndentification去寻找类似的对象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 对象