QTP提供两种类型对象库:
1、共享对象库
2、本地对象库
共享对象库
共享对象库中的对象是共享的,即在一个或者多个脚本中相同的对象只会保存一次。不再按照QTP的Action以及脚本作为划分单元。
如:A脚本中zhon个使用了登录操作,B脚本中使用了同样的登录操作过程。那么在对象采集时对相同的对象,QTP不会保存重复的对象进入对象库,只会保存两者之间的差异对象进入对象库。
本地对象库
本地对象库是以Action为单位进行对象存储。
如:在同一个Action中对同一个对象操作多次,那么QTP只会采集一次对象并保存。但是另外一个Action又操作了相同的一个对象,此时QTP将会再次将这个对象保存到相对于这个Action的对象库中。
对象库选择策略
对象库类型选择主要从脚本的后期维护量的角度来分析和选择不同类型的对象库,根据特定的应用环境和脚本的编写模式,选择一个最低成本的维护过程。
选择本地对象库
1、一个特定的应用只有少量的或者一个测试脚本
2、待测应用的对象属性变更可能性比较小
3、在测试脚本中只是才去单个Action的模式
选择共享对象库
1、在同一个应用可能有多个不同类型测试脚本
2、脚本中对象属性或者对象信息变更频率比较多
3、测试脚本存在多个Action脚本或者经常才去 Insert Copy of Action and Insert Call to Action属性进行脚本调度