【软件测试自动化-QTP NOTE 1】 ==对象库-Object Repository==
时间:2011-01-22 来源:TIB
写这个博客是想把自己过去学习的一些QTP知识整理下沉淀下,以笔记的形式发表在blog中,算是温故而知新吧~
希望看过的可以提些意见 互相勉励 互相学习。
-------------------------------------------------------------------------------------------------------------------------------------------------
Note1:对象库-Object Repository
所谓对象库 就是QTP存放对象的地方
QTP在对象库中为每一个获取的对象储存一个定义。这些定义包含了各种被用来确认唯一对象参数的值
比如innertext,html tag等,这些web对象参数都是可以通过IE Developer Toolbar获取的
PS:IEDT这个插件对于使用QTP的人来说非常实用,当然在IE8.0中已经被整合进去
对象添加至对象库
1.基本的录制过程中,QTP会自动把对象添加至OR
2.手动添加对象至对象库
手动添加对象至对象库时,这里QTP会启动对象选择模式(Object Selection Mode),从而对你选择的对象进行添加
这里有两种场景:
1.半操作场景:
临时无效化对象选择模式
长按CTRL,鼠标变成常规状态,可以进行鼠标的操作点击,完成后,释放CTRL,重新回归至对象选择模式
2.全操作场景:
如果在添加对象过程中,我们需要在不同程序直接切换,那样我们可以
按CTRL+ALT 从而使对象选择模式无效。那样我们就可以正常的操作其他任何程序
一旦完成后,按CTRL即可恢复到有效模式,从而开始添加对象
PS:这里区分模式的有效主要看鼠标的状态
--------------------------------------------------------------------------------------------------------------------
接下来是QTP对象库的基本操作方法
大致可以分为,SetTOProperty,GetROProperty,GetTOProperty
TO:Test Objects 测试库中的对象
RO:Run-time Objects 运行中的对象
SetTOProperty:修改对象库中对象的属性值
GetTOProperty:获取对象库中对象的属性值
GetROProperty:获取运行对象的属性值
Example1:改变测试对象的属性
view plaincopy to clipboardprint?
'创建一个WebEdit对象
Set oWebEdit= Browser("Browser").Page("Page").WebEdit("txtName")
'获取对象name
oldName=oWebEdit.GetToProperty("name")
'修改对象为 "new value"
oWebEdit.SetToProperty "name","new value"
'获取对象新name
newName=oWebEdit.GetTOProperty("name")
Msgbox newName
'创建一个WebEdit对象
Set oWebEdit= Browser("Browser").Page("Page").WebEdit("txtName")
'获取对象name
oldName=oWebEdit.GetToProperty("name")
'修改对象为 "new value"
oWebEdit.SetToProperty "name","new value"
'获取对象新name
newName=oWebEdit.GetTOProperty("name")
Msgbox newName
Example2:在测试执行过程中获取run-time对象属性
view plaincopy to clipboardprint?
xxx=Browser("").Page("").WebEdit("").GetROProperty("value")
Msgbox xxx
xxx=Browser("").Page("").WebEdit("").GetROProperty("value")
Msgbox xxx
PS:QTP不提供Run-time对象属相的修改方法,因为其对象可以直接进行object.value的修改,所以大家可能没有看到SetROProperty。
------------------------------------------------------------------------------------------------------------------
最后是一些对于对象库的整体维护方法
1.对象库的保存
在对象库窗口,选择[Export Local Objects]命令,便可以把对象库以tsr格式的文件导出到本地
如图:
2.对象库的合并
在项目过程中,如果对象库是分裂状态的,最好是将其生成统一的对象库,其目的是为了让测试团队更好的维护和调用对象库
[Resources]->[Object Repository Manager]->[Tool]->[OR Merge Tool]
[Primary file]与[Secondary file]中导入单个对象库,最后QTP会自动合并成一个新的对象库。
如图:
3.对象库共享引用
将对象库合并为一个公共对象库,这是一个非常好的调用维护的方法
结合这一方法,可以继续将用例脚本一一对应到这个公共对象库中
[Resources]->[Associate Repositories]->关联到需要的用例Action
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Tachibana814/archive/2010/02/28/5334305.aspx