对象属性

在模型管理器中,每个节点都代表一个模型对象,用于匹配和操作自动化应用中的控件。每个对象通过其标识属性与目标控件进行匹配,并通过API执行操作。理解这些标识属性的作用,能够帮助你在不同场景下选择最佳匹配方式,确保识别的准确性和操作的稳定性。

每个控件对象都包含几个关键要素:描述性名称、在应用程序树中的位置、标识属性和其他属性、以及可选的图像。

对象属性

什么是标识属性?

标识属性是定位目标控件的关键。当我们需要对某个控件进行操作时,首先通过这些标识属性来找到该控件,之后再执行相关操作。如果标识属性设置不当,可能会遇到以下问题:

  1. 无法匹配到控件:提示错误 1001:对象不存在
  2. 匹配到多个控件:如果匹配到多个控件,系统会返回一个控件数组,默认情况下操作第一个控件,但这可能导致错误操作。

为避免这些问题,应该通过添加或优化标识属性来提高控件匹配的准确度。

如何添加和删除标识属性?

  • 添加标识属性 添加标识属性:通过添加额外的识别属性来提高匹配准确性,或将某些其他属性设为标识属性。
  • 删除标识属性 删除标识属性:将标识属性移出,不再用于匹配控件。

更新控件的标识属性

如果控件的属性在应用中发生了变化,可以使用 “从应用更新属性” 功能来同步最新的属性信息,而不需要手动修改测试脚本。点击 从应用更新属性 按钮后,进入侦测模式,选取需要更新的控件,从而更新当前对象的标识属性。

编辑标识属性

标识属性的值可以直接编辑和修改,只需点击对应属性值的文本进行调整。

修改匹配模式

有些控件的属性(例如 nametext)可能会动态变化,为了提高识别的灵活性,可以修改匹配模式。常见的匹配模式包括:

  1. i 包含:属性值包含指定文本。
  2. s 起始:属性值以指定文本开头。
  3. e 结尾:属性值以指定文本结尾。
  4. ~ 正则:使用正则表达式匹配属性值。
  5. 文本:直接匹配完整文本。

修改匹配模式

标识属性的最佳实践

  • 默认属性推荐:通常,在保存控件对象时,CukeTest 会尝试选择能够唯一标识应用程序中的对象的属性,比如typenameautomationId等。但是,在某些情况下,您可能希望向标识属性添加额外的属性或删除不必要的属性。例如,您还可以更改属性值以匹配测试应用程序中的更改。

  • 动态属性的注意事项:如果控件的某些属性是动态生成的,如显示文本、标签等,避免将这些属性作为识别依据。例如下图中,识别一个计算器的结果时,不应使用name属性,因为它会随着计算结果的变化而变化。相反,应手动删除动态属性,或根据变化规律修改匹配模式,确保能够匹配到正确的控件。

对于复杂或动态变化的应用,可以使用侦测规则来进一步优化控件识别。

不可靠的属性

区分标识属性和其它属性

在模型管理器中,对象属性被分为标识属性其他属性。标识属性用于唯一标识应用程序中的控件,而其他属性只用于记录,并不参与控件匹配。如果需要,也可以通过“设为识别属性”将其他属性升级为标识属性,帮助提高匹配精度。

标识属性 vs 运行时属性

  • 标识属性:用于匹配控件的属性,是固定的,保存在模型文件中,或通过代码描述。为了提高识别效果,还可以使用辅助属性如indexsearchHint等。

  • 运行时属性:在自动化过程中动态获取的控件属性值,如控件的可见状态、位置坐标等。这些属性通常用于验证或操作控件的当前状态。虽然大多数标识属性在运行时也是可用的,但运行时属性更侧重于控件的实时状态,通常用于验证控件当前状态。

不同自动化技术的识别属性

不同类型的控件对象会有不同的识别属性,具体信息可以参考各个技术的帮助文档:

results matching ""

    No results matching ""