虚拟对象

上一篇 / 下一篇  2009-01-08 22:57:56 / 个人分类:QTP

    对测试对象进行识别定位是自动化测试脚本比较麻烦的一点,暂时还没有非常完美的方法.QTP也不例外,其也有不少不能识别的对象.那怎么去操作这个对象呢?QTP其中一个方案则是使用虚拟对象.

    虚拟对象可能根据一定的属性(坐标,类似对象等)来创建一个对象以在回放时进行识别操作.不过它并不完美甚至很多时候会失灵,导致识别不了.所以考虑用虚拟对象时可以先考虑其它方法如使用键盘输入热键等.但不管怎样还是有可能会用到,下面是转摘了别人对使用虚拟对象的经验总结.

1>虚拟对象不支持用于模拟或低级录制.

2>仅当录制和运行测试或组件时,才能使用虚拟对象。您不能在虚拟对象上插入任何类型的检查点,也不能使用“对象探测器”来查看其属性. 录制和运行测试或组件时,网页或应用程序窗口的大小和位置必须和定义虚拟对象时的大小和位置相同。

3>您只能为可以在其上单击或双击并录制 Click 或 DblClick 步骤的对象定义虚拟对象。否则,将忽略虚拟对象。例如,如果您在 WinList 对象上定义一个虚拟对象,录制 Select 操作,则虚拟对象被忽略。 不要使您的应用程序或网页中的虚拟对象相互重叠。如果虚拟对象与另一个虚拟对象重叠, QuickTest 可能无法正确地在虚拟对象上录制或运行测试或组件。

4>虚拟对象管理器中显示的虚拟对象集合存储在您的计算机中,而不是随包含虚拟对象步骤的测试或组件存储。 这意味着如果您在测试或组件步骤中使用虚拟对象,则仅当在包含正确的虚拟对象定义的计算机中运行时,该对象在运行会话过程中才能被识别。要将您的虚拟对象 集合定义复制到另一个计算机,请将您的 <QTP安装文件夹>\dat\VoTemplate 文件夹的内容(或该文件夹中的单个 .vot 集合文件)复制到目标计算机上的相同文件夹中。

5>创建虚拟对象时要注意在“标识对象使用”框中,选择您希望 QuickTest 标识和映射虚拟对象的方式. 5.1 如果您想要 QuickTest 标识所有出现的虚拟对象,请选择“仅父类”。QuickTest 仅通过其直接父类标识虚拟对象,而不考虑整个父层次。 例如,如果虚拟对象是使用 Browser("A")。Page("B")。Image("C") 定义的,则即使层次更改为 Browser("X")。Page("Y")。Image("C"), QuickTest 仍将识别该虚拟对象。 5.2如果想要 QuickTest 仅标识一次出现的虚拟对象,请选择“整个父层次”。QuickTest 将仅标识具有准确的父层次的虚拟对象。 例如,如果虚拟对象是使用 Browser("A")。Page("B")。Image("C") 定义的,则如果层次更改为Browser("X")。Page("B")。Image("C"), QuickTest 将无法识别该虚拟对象。


TAG: QTP

 

评分:0

我来说两句

Open Toolbar