有关 Rational Functional Tester 中对象识别和对象图的常见问题

本主题提供了有关对象识别和测试对象图的一些常见问题的解答。

什么是对象图,以及为什么需要对象图?

对象图包含记录过程中对其进行操作的每个对象以及该对象的识别属性。 对于每个属性,该图还包含指示 Rational® Functional Tester 为进行识别而对该属性的依赖程度的权重。

对象图可以在记录脚本时自动填充,也可以通过向图添加对象来手动填充。

对象图可帮助进行高效的脚本维护。 如果修改了被测应用程序中的对象,对象图是可以更新的单一源。通过更新图,引用所修改对象的所有脚本都将使用更新后的对象信息。

如果两个不同对象具有相同名称,将会如何?

Rational Functional Tester 根据识别属性和层次结构来区分对象。例如,如果某个按钮存在于不同的顶级窗口中,那么该按钮在图中显示为不同的按钮。如果两个或多个不同对象具有相同名称,那么为使名称唯一,Rational Functional Tester 会为对象的名称添加数字后缀,即 2、3 等等。

如果存在任何对象的两个相同实例(如浏览器的两个实例),那么 Rational Functional Tester 将提供一种方法来处理身份识别。

专用和公用对象图的区别是什么?

专用对象图由单个脚本使用。公用(共享)对象图由多个脚本使用。每个脚本的缺省设置是使用专用对象图。这适用于初学该工具的单独用户。但是,处理公共应用程序的测试人员团队应使用共享对象图,以便他们能够利用在单个图中全局定义对象所带来的好处。

识别属性的权重代表什么,以及如何进行使用?

权重指示脚本执行过程中特定属性对于识别对象的重要性。可能的设置范围为 0(不重要)到 100(非常重要)。您可以更改大多数属性的权重。.class 属性是固定的,不能更改。

如果将权重设置为 0,那么在尝试识别对象时将忽略该属性的值。

是否可以修改指定给每个属性的缺省权重?

使用“对象属性配置工具”可为属性指定新的缺省权重,以及定义在以后的记录中识别对象时要使用的新属性。

是否可以针对项目中的所有对象或特定类型的所有对象修改属性权重或值?

可以使用“对象图查找和修改”实用程序来查找与某个条件(如属性名、属性值或各种定制过滤器)匹配的所有对象。可对匹配对象执行的操作包括“添加属性”、“除去属性”、“更改值”和“更改权重”。可以将修改一次应用于一个对象,也可以将其全局应用于所有对象。

是否可以将使用专用图创建的脚本合并到公用图中?

可以。要合并脚本,请通过单击文件 > 新建 > 测试对象图来创建新的公用图。如果向导页面打开,请将其关闭。右键单击所创建的图并选择将对象合并到。在显示的对话框中,选择要合并的脚本。请确保选中连接选定 Functional Tester 脚本复选框以将选定脚本附加到新的合并对象图中。

有关合并多个图的信息,请参阅合并多个测试对象图

是否可以将专用图变为公用图?

可以。 通过执行以下步骤,可以将专用图的内容复制到公用图中:
  1. 选择文件 > 新建 > 测试对象图
  2. 选择要创建新公用图的文件夹,然后输入新图的名称。也可以选中相应复选框以将此测试对象图设置为新 Rational Functional Tester 脚本的缺省选项。 单击下一步
  3. 选择要从中复制测试对象的测试对象图和脚本
  4. 选择包含要将其变为公用图的专用图的脚本。也可以选中连接选定脚本与新测试对象图复选框。

对对象图层次结构的更改是否需要在对象图中为所有子对象新建部分?

如果由于插入或删除操作而更改了父节点的属性,或者向层次结构添加了新节点,那么您可以更新该图。 要更新图,请使用图编辑器以插入对具有新插入父代的对象的引用。这样,您拥有了新对象的子对象的重复引用。对于其中每一个引用,请将旧对象拖动到新对象,以便图编辑器能够统一对象。可以使用相同的步骤来删除图层次结构中的对象。

是否可以修改用于对象识别的属性?

可以。打开对象图中的对象,然后选择测试对象 > 更新识别属性。 使用对象查找器指向该对象。出现包含三个窗格的“更新识别属性”对话框时,请右键单击“所有活动属性”窗格中的属性,然后选择添加至统一测试对象属性

一个脚本是否可以引用多个对象图?

不可以。

是否可以将个别对象从一个图复制到另一个图?

不可以。

随着对象图的大小增加,其性能度量值有何变化?

随着对象图的增大,打开并装入该图所需的时间也将增加。

脚本运行时,将在运行过程中首次需要对象图时装入该图。如果有一个测试用例套件使用功能测试脚本,那么将在每个脚本运行时装入该图,因为每个脚本都是单独的进程。一个典型应用程序将有大约 2000-3000 个对象(某些图可能更大或更小)。

表 1 中显示的度量值是在脚本运行时计算的,但也可在装入图时应用。这些度量值显示了图装入时间的明显增加是在图大大超出常规大小之后才出现的。回放时间仅在脚本运行之初装入图时有所增加,并且在装入图之后并未减缓脚本运行。此外,共享相同对象图的嵌套脚本(使用 callScript 函数)在脚本运行过程中也会共享相同的图实例。因此,嵌套脚本不会增加装入时间。

表 1. 对象图度量值
图中的对象数 脚本执行总秒数
10 X 秒
600 - 2000 X + 2 秒
2000 - 11000 X + 3 秒
超过 11000 X +10 秒

反馈