提高测试脚本强度

有时候,测试中已记录的步骤在回放测试时无法识别,因此导致测试失败或错误。要避免这些对象识别问题,可更改识别对象的方式,可以使用对象定位器条件,或应用响应设计条件,或者添加要在测试运行期间首选使用的属性的列表。这样,可提高测试稳健性并更有机会在自动测试过程中包含测试。

测试中步骤失败的一个原因在于更新应用程序的版本。您通过某个版本的应用程序记录测试。当您在应用程序的新版本(例如具有新按钮或新对象位置)上复用测试时,回放测试期间找不到这些对象。步骤失败的另一个原因在于相对于记录测试时,测试中的数据已更改(例如日期)。

可以按如下所示来提高测试脚本稳健性:

对象属性

对象属性是在测试记录期间捕获的,并以只读方式显示在移动和 Web UI 数据视图的“属性”表中。 要在回放期间查找被测试应用程序中的对象,测试工作台 将记录期间捕获的对象的属性与测试编辑器的“用户操作详细信息”区域中显示的属性的描述进行比较。对于 Android、iOS 或 Web UI 应用程序,这些描述不尽相同。

在已记录的测试中选择步骤时,测试编辑器将显示执行了操作的对象属性。对象属性将在标识字段中列出,后跟运算符字段和属性值的插入字段。在标准对象标识中,您可以发现内容标识Xpath,具体取决于图形对象。

图 1. 测试编辑器、通过对应对象属性选择的步骤、运算符和属性值。
测试编辑器、通过对应对象属性选择的步骤、运算符和属性值。

可通过使用上下文菜单在测试编辑器的用户操作详细信息区域中或在移动和 Web UI 数据视图中更改这些参数(属性、运算符、属性值)。 在“测试内容”列表中选择操作时,“移动和 Web UI 数据”视图将自动同步,以显示所选择步骤的屏幕捕获。属性可在“截屏”选项卡、“元素”选项卡或通过使用上下文菜单在“属性”表中进行修改。

属性可从“移动和 Web UI 数据”视图、“截屏”选项卡、“元素”选项卡或通过使用上下文菜单在“属性”表中进行修改。
图 2. 属性可从“移动和 Web UI 数据”视图、“截屏”选项卡、“元素”选项卡或通过使用上下文菜单在“属性”表中进行修改。
有关详细信息,请参阅修改用于标识测试脚本中的对象的属性

为了提高对象标识能力,可指定要在测试中使用的属性。一些应用程序使用的是定制属性描述的属性,在测试运行期间不会自动检测这些属性。要取消这种标准行为,您可以设置定制属性的排序列表,以便将这些属性标识为主要属性,并且在测试执行期间予以使用。

测试中的对象位置

运行测试时,必须自动检测测试中的图形对象,但在某些情况下,对其执行了操作的元素可能难以识别。在该情况下,您必须更新测试脚本,并提供更多准确信息以找到想要对其执行操作的对象。

请参考以下示例:您记录测试,一个步骤是“单击其内容为“August 30th, 2013”的“编辑”文本”。如果测试自动回放,那么当日期不再是“August 30, 2013”时测试将失败。您必须修改该步骤,并提供更准确的信息以找到想要对其执行操作的对象。这样,运行测试时可自动发现和使用该对象。测试工作台 提供了多种方法来识别和查找对象并提高测试脚本可靠性。

测试工作台 中,提供了各种对象位置运算符来识别被测试应用程序中的对象。它们显示在测试编辑器的用户操作详细信息区域中的对象位置字段中。可在测试步骤中使用两个对象位置来设置位置条件并查找测试中的目标对象。有关详细信息,请参阅在测试脚本中设置对象位置条件

图 3. 包含位置运算符列表的对象位置字段(针对示例中的 Android 应用程序)
打开了辅助位置运算符列表的对象查找器和辅助位置字段(针对此处的 Android 应用程序)

测试中的图像识别

记录测试时,对其执行了操作的对象将由其域属性来识别,该属性通常为文本属性。 有时候,文本属性不太容易识别。当在测试步骤中没有属性描述或没有标签来识别目标元素时,可能发生该情况。在这些情况下,测试生成器使用图像属性来识别测试步骤上的元素。

要修复可能的图像识别问题,测试工作台 使用图像关联在回放期间识别和管理对象。对其执行了操作的图像(引用图像)是在测试记录期间捕获的,它在回放时与被测试应用程序的图像(候选图像)进行比较。识别阈值用于接受引用图像与候选图像之间差异的可调整比率,并评估图像是否匹配。缺省识别阈值设置为 80,缺省容错比设置为 20。

以下是使用了图像关联的某些测方案示例:
  • 您在移动电话上记录测试,并在桌面上回放测试。因为图像的宽度和高度在从一台设备到另一台设备时会发生更改,所以回放在没有相同屏幕比例的设备上将失败。
  • 回放测试时,记录中的某些目标对象不再相同。示例:在安全应用程序中使用虚拟键盘时,数字按钮的位置可从服务器的一个会话上变到下一个会话上。
在某些情况下,被测试应用程序可能包含 测试工作台 找不到的对象。
注: 从 V9.1.1 开始,可以识别定制图形对象。在编辑的测试中,定制对象被标识为定制元素图像对象,并且在测试脚本中包含 name1-name2 描述 测试脚本中的定制对象描述
在其他情况下,所选择的图像不适合,测试将失败。 当回放期间出现识别问题时,可修改用于识别测试步骤中目标对象的图像,或者可更改已编辑测试中的阈值分数和容错比。
注: 图像可在测试中目标对象上的控制验证点中使用。例如,可验证屏幕上下拉列表的位置。有关详细信息,请参阅从“移动和 Web UI 数据”视图创建验证点

如果阈值设置为 0,将选择与引用图像最相似的候选图像,即使它不是同一图像也是如此。如果将阈值设置为 100,那么图像中最细微的差别也会阻碍图像识别。例如,如果具有不同宽度或高度的图像在回放时由平板设备重新调整了大小,那么当阈值设置为 100 时不会选择该图像,即使它是相同的图像也是如此。如果在没有相同屏幕比例的设备上测试失败,或者如果回放时应用程序中可用的图像与记录测试时可用的图像不同,可更改宽高比容错。

当您在测试编辑器中设置识别阈值以帮助您查找哪些图像可能是回放测试时用于识别目标对象的准确图像时,测试工作台 将显示图像匹配预览视图。最佳候选图像为绿色,分数超过阈值但不是最合适选择的图像为黄色,分数低于阈值的图像为红色。这些候选图像与引用图像不匹配。

可在测试执行完成时显示的测试报告中找到图像关联详细信息。


反馈