QTP对象管理及对象库操作_第1页
QTP对象管理及对象库操作_第2页
QTP对象管理及对象库操作_第3页
QTP对象管理及对象库操作_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

QTP对象管理及对象库操作一.QTP识别对象的原理QTP要求先在仓库文件里定义仓库对象,里面存有实际对象的特征属性的值,运行的时候,QTP会根据仓库对象的特征属性描述,寻找到实际对象,然后操作实际对象。仓库对象TO一般在录制/编写脚本时加入仓库文件,它不仅可以在编写时进行修改,也可以在运行过程中进行动态修改,以匹配实际对象。相关函数有(详见专家视图方法文档):GetTOProperty():取得仓库对象的某个属性的值GetTOProperties():取得仓库对象的所有属性的值SetTOProperty():设置仓库对象的某个属性的值GetROProperty():取得实际对象的某个属性的值二.QTP对象仓库的介绍 Qtp对象仓库打开方法有两种 1、点击ResourcesObject Repository,或者使用快捷键 Ctrl+R 2、点击工具栏中的对象仓库按钮(下图箭头指向的按钮) 下面是用qtp录制的几个操作,先看下这边的对象仓库中的内容 File:菜单下有导入和导出对象库文件功能 Edit:菜单下是对象的复制、删除撤销等操作。 Object:Defind New Test Object是定义一个对象。 Add Objects to Local是利用对象探测工具添加新对象;经常会用到的功能。 Update from Application是用来更新本地对象仓库的,有时被测程序的某一对象的属性改变了,导致我们脚本回放不成功,就可以通过该功能来更新我们本地的对象,用法与Add Objects一样。 (这操作会覆盖以前存在的对象)View:compact view改变对象库显示(精简视图;隐藏或显示右侧窗口)。Highlight in Application是用来查看我们所选中的对象在程序中那一部分,前提是当前被测程序需要打开,该功能会自动定位到我们所要查看的对象,并用框选中。Locate in Application的功能正好相反,用来检测我们选择的对象,在对象库中的哪个地方。 Tools菜单中:object spy是对象探测器,用来查看我们所选对象的属性和可用的方法。 Associate Repositories 主要作用是对象库的关联,QTP为每个Action生成相应的测试文件和目录,对象库是与Action绑定的。选择关联其他action的对象库时用到此处 举例: 1. 在Action1的对象库关联界面中,选择“File | Export Local Object”,进行保存,该文件后缀为“*.tsr” 2. 插入Action2,在Action2界面中,选择“tools | Associate Repositories”,在出现的窗口中选择action 1中导出的对象文件,在“available Action”中选择Action1,在“Associated Actions”中选择Action2,点击“ok”,对象库关联成功 【注】Action2中对象与Action1是一致的,但不能进行修改,用灰色显示。在右边的“Repository”中,显示对象库文件的路径,而不是“local”,表明这些对象是引用对象库文件而来的。 在对象库中(上图),左边一个树形结构区域中分为Test Objects与Checkpoint and Output Objects,Test Objects是我们测试时所用的测试对象,Checkpoint and Output Objects中用来存储当我们插入检查点和输出值的操作对象。 点击每个对象时,会在右边主体区域显示该对象的详细信息。可以对选中对象的属性进行添加修改和删除操作。 三.对象相关内容补充: 1.首先介绍QTP中的两个对象 TestObject(TO):在仓库文件里面定义的仓库对象。 RuntimeObject(RO):被测试软件的实际对象。 2.QTP识别对象的机制 QTP识别对象,一般是要求在对象仓库中要创建仓库对象,里面存有实际对象的属性的值,然后在运行对象的时候QTP会根据脚本里面对象的名字,在对象仓库中找到对应的仓库对象,再根据仓库对象的属性,再被测试软件中找到实际操作对象,最后对实际对象操作。 3. QTP 中TO和RO的几个函数 GetTOProperty:取得仓库对象某个属性的值 GetTOProperties:取得仓库对象所有属性的值 SetTOProperty:设置仓库对象某个属性的值 GetROProperty:取得实际对象某个属性的值 注意:以上的几个方法,都是对象的封装属性的方法,不是对象的自有属性。 两者的区别: 封装属性的方法:是QTP对对象封装的接口,是QTP调用对象自有的接口是实现的。 其代码为:对象名.属性 或对象名.方法名 自有属性:对象自有的接口。其代码为:对象名.Object.属性或 对象名.Object.方法名 这里给大家举一个大家平时都没有注意的例子 首先把当前计算机中qtp和ie的程序都关闭 打开一个ie输入网址,打开 打开qtp程序,使用qtp的对象探测工具(Object Spy),来识别qtp学习网中的对象,你会发现所有对象都识别不了,是不是很奇怪。 接下来我们把ie程序关闭,qtp程序不要关闭,我们重新打开一个IE网址输入并打开,在用qtp的探测工具对论坛中对象进行探测 你会发现对象都识别了。 原因:当我们没有打开qtp的时候,我们打开ie浏览器时,ie的加载项里面不会去加载BHOManager class这个dll,qtp对web程序对象的识别与这个dll有直接关系。 当我们把ie关闭,在次打开一个ie时,就会把BHOManager class这个dll加载到ie的加载项中,这时qtp就可以识别ie中的对象了。四.obj spy查看运行时或测试对象的属性Run-time Object Properties:运行是对象Test Object Properties:测试对象Keep Object Spy on top

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论