简单快乐的工作,生活!

QTP-AOM应用(2)-Object Repository Automation

上一篇 / 下一篇  2014-03-11 15:32:45 / 个人分类:QTP

上一章我们介绍了quicktest Automation 也就是QTP的自动化模型对象 今天这一章主要讲解的是Object Repository Automation也就是对象库的自动化模型对象。
  • ORAOM ---- Object Repository automation object model (对象库自动化模型对象)

Description:

就像QTP自动化模型对象来自动化QTP的操作一样,可以在QTP外部使用ORAOM中对象和对象的方法通过写脚本来完成多个对象的共享操作,而不是使用Object Repository Manager来手工的进行操作,比如测试对象的增删改,XML对象库的导出和导入,检索以及复制测试对象等等。

instructions:

Object Motel

Description

ObjectRepositoryUtil

可以在QTP外部对对象库文件中的对象进行操作和管理

TOCollection

测试对象的集合,可以通过ObjectRepositoryUtil返回

Example:

1.在vbsEdti中创建ObjectRepositoryUtil对象

SetautoRepository =CreateObject("Mercury.ObjectRepositoryUtil")

创建完对象后可以在OBJECT BROWSER中查看ORAOM中的所有方法,如图

未命名

2.准备一个TSR格式的对象库文件,还是以百度为例,我们在对象库中添加一个搜索文本框对象,两个链接对象(贴吧、知道)后并导出TSR文件

未命名

3.当我们保存好TSR文件之后,就可以使用ORAOM来导入TSR文件并对其进行操作,代码如下:

  • 遍历对象库找到对应的测试对象并对其进行对象名和属性名的更改

'********************* scripting by zzxxbb112 *********************
Option Explicit'强制所有变量的显式声明
DimautoRepository,TOCollection,testobject,i'声明变量
SetautoRepository =CreateObject("Mercury.ObjectRepositoryUtil")'创建ORAOM对象
autoRepository.Load"d:/baidu.tsr"'导入对象库文件
SetTOCollection = autoRepository.GetAllObjectsByClass("Link")'获取所有链接类的对象集合
Fori=0ToTOCollection.count-1'遍历所有测试对象
Settestobject = TOCollection.item(i)'获取测试对象
IfautoRepository.GetLogicalName(testobject) = "知 道"Then'判断对象名称为“知道”执行一下操作
testobject.SetTOproperty"text","图 片"'更改对象库的TEXT属性为“图 片”
autoRepository.UpdateObjecttestobject'更新对象
autoRepository.RenameObjecttestobject,"图 片"'重命名对象名称
autoRepository.Save'保存对象库
Exit For'退出循环
End If

Next

Settestobject =Nothing
Set
TOCollection =Nothing
Set
autoRepository =Nothing
'释放所有对象
'******************************* end ****************************

注意:经本人研究,以上代码的对象释放不可省略,并且要由里向外的释放,否则会造成运行时报错,这一点在QTP的帮助文档里也没有提到

未命名

执行完以上脚本之后我们重新打开之前的那个TSR文件可以清楚的看到之前LINK类的"知 道"对象的对象名和属性名已经都被改成了"图 片",此时原来的知道对象就已经不存在了,而图片这个对象则取代了它的位置,当我们选择图片这个对象然后点一下高亮之后,可以清楚看到这个对象已经定位在图片链接上了

QQ截图未命名

未命名

AOM总结:

总结一下这两章的内容:AOM的作用主要是通过QTP外部使用脚本语言调用其COM自动化对象模型来对其工具和对象库进行自由的操作,甚至可以在我们自己的应用中调用它,从而达到自动化工具和对象库的效果,这些都是在我们自己开发自定义测试框架的时候非常有用的。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-25  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 12727
  • 日志数: 15
  • 书签数: 3
  • 建立时间: 2007-04-04
  • 更新时间: 2014-12-01

RSS订阅

Open Toolbar