QTP-虚拟对象


什么是虚拟对象?

有时,被测应用程序可能包含标准窗口对象,但 QTP 无法识别。在这些情况下,可以将对象定义为按钮、链接等类型的虚拟对象(VO),以便在执行期间可以在虚拟对象上模拟用户动作。

例子

假设我们正在 Microsoft Word 中自动化一个场景。我激活了 MS Word 应用程序,然后单击功能区中的任何图标。例如,在功能区上,单击“插入”选项卡,然后用户单击“图片”按钮。按钮被识别为WinObject;因此,虚拟对象的重要性显而易见。

Window("Microsoft Word").WinObject("Ribbon").Click 145,45
Window("Microsoft Word").WinObject("Ribbon").WinObject("Picture...").Click 
170,104

创建虚拟对象

步骤 1 - 在这种情况下,使用虚拟对象管理器或“工具”>>“虚拟对象”>>“新建虚拟对象”中的新虚拟对象创建虚拟对象,然后单击“下一步”按钮。

虚拟对象步骤 1

步骤 2 - 根据类类型映射对象,然后单击“下一步”。

虚拟对象步骤 2

步骤 3 - 单击“标记对象”按​​钮。将出现十字光标并标记您要映射的对象,然后单击“下一步”。

虚拟对象步骤 3

步骤 4 - 选择虚拟对象的父对象,然后单击“下一步”。

虚拟对象步骤 4

步骤 5 - 命名您想要存储虚拟对象的集合,然后单击“完成”。

虚拟对象步骤 5

虚拟对象管理器

虚拟对象管理器管理虚拟对象的集合。测试人员可以从虚拟对象管理器添加或删除虚拟对象。

导航到虚拟对象管理器:“工具”>>“虚拟对象管理器”,如下所示 -

虚拟对象步骤 6

使用虚拟对象

创建虚拟对象后,可以使用创建的对象,如下所示 -

Window("Microsoft Word").WinObject("Ribbon").VirtualButton("button").Click

虚拟对象的限制

  • QTP 不支持模拟或低级记录的虚拟对象。

  • 无法在虚拟对象上添加检查点。

  • 虚拟对象不受对象存储库控制。

  • 尽管我们将一个对象映射到特定的类(按钮或列表),但虚拟对象并不支持本机对象的所有方法。

  • 对象间谍不能用于虚拟对象。

  • 如果屏幕分辨率随着坐标的变化而变化,测试执行将会失败。

  • 应用程序窗口应具有相同的屏幕尺寸,以便正确捕获虚拟对象。