跳转到内容

验证元素具有属性

验证元素具有属性 用于在移动设备上验证当前屏幕中的目标 UI 元素是否具有指定属性。它会通过元素选择器定位目标元素,并输出布尔结果,常用于检查元素状态、文本属性、可点击状态或勾选状态。

指令标识:MobileVerifyElementHasAttribute
指令类型:移动端指令
指令描述:验证手机当前屏幕中的特定UI元素具有选定的属性,输出验证结果(True或False)

工作流支持「可视化编排」和「代码编排」两种创建方式。验证元素具有属性 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。

方式怎么用适合人群
可视化编排(推荐先学)拖入「验证元素具有属性」节点,在右侧表单填写元素选择器、属性名称和输出变量大多数用户,零代码,适合快速搭建和调试
代码编排(Python)在脚本中调用 bots.mobileVerifyElementHasAttribute(selector="...", attributeName="enabled", outKey="hasAttr")熟悉代码、需要复用脚本或批量生成流程的用户

第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。

  • 验证移动端按钮是否具有 enabledclickable 属性。
  • 验证输入框、提示文案或列表项是否包含 text 属性。
  • 验证复选框、开关或选项是否具有 checkedselected 等属性。
  • 根据属性是否存在决定后续流程走向。
  • 在提交表单前检查关键控件状态是否符合预期。
  • 目标元素选择器可以稳定定位到唯一元素。
  • 属性名称来自当前平台和控件实际支持的属性,例如 enabledtextvisibleclickableselectedchecked
  • 已规划好 falseResultHandling:验证失败时继续输出结果,还是抛出异常中断流程。
  • 输出变量已规划好,用于保存验证结果(Boolean)。

【图片占位 | command-mobileverifyelementhasattribute-config】
截图内容建议: 截一张移动端可视化编排页面,画布选中「验证元素具有属性」节点,右侧属性面板展示「元素选择器」「属性名称」「False结果处理」「超时时间」「将结果保存至」。
标注建议: 用 ① 标出元素选择器,用 ② 标出属性名称,用 ③ 标出 False 结果处理,用 ④ 标出输出变量。
用户看完应能明白: 这个指令判断移动端元素是否具有某个属性,并把 TrueFalse 保存到变量。

下面用一个常见场景演示:验证移动端表单的提交按钮是否具有 enabled 属性。按 4 步即可跑起来:

  1. 先进入目标移动端页面,并确保表单区域已显示。
  2. 在工作流画布中添加 验证元素具有属性 指令。
  3. 元素选择器 中填写按钮定位,例如 //*[@text='提交'];在 属性名称 中填写 enabled
  4. 将结果保存至 中填写变量名(例如 hasAttr),点击运行查看布尔结果。
界面名称代码属性名类型必填默认值说明
元素选择器selectorString-选择要验证的页面 UI 元素,可直接填写 xpath/元素prompt 或从元素库选择元素 ID。
属性名称attributeNameString-要验证的属性名称,例如 enabledvisibleclickable 等。
False结果处理falseResultHandlingEnumOUTPUT_RESULT高级选项。验证结果为 False 时的行为:OUTPUT_RESULT(输出结果,继续流程)、THROW_EXCEPTION(抛出异常,中断流程)。
超时时间timeoutDouble10000高级选项。查找元素超时退出时间,单位毫秒(ms)。
是否发送消息sendMsgFlagBooleanTrue是否发送节点消息。
界面名称代码属性名类型必填说明
将结果保存至outKeyBoolean输出验证结果,False 表示元素不具有属性,True 表示元素具有属性。
  • 运行日志中节点为成功状态。
  • 输出变量中得到布尔结果(TrueFalse)。
  • 元素具有指定属性时返回 True
  • 元素不具有指定属性时,按 falseResultHandling 策略输出结果或中断流程。

运行后你会看到(以上面场景为例):

  • 如果提交按钮具有 enabled 属性,变量 hasAttr 保存为 True
  • 如果按钮未具有该属性,变量 hasAttr 保存为 False,或在配置抛出异常时中断流程。

【图片占位 | command-mobileverifyelementhasattribute-success】
建议放一张运行成功截图:移动端页面显示目标按钮,变量面板中展示 hasAttr=True 或运行日志显示验证通过。

现象 / 报错原文可能原因处理建议
找不到元素选择器错误、页面未加载完成或元素不在当前屏幕检查选择器;必要时先滚动或等待元素出现
输出 False元素不具有指定属性,或属性值为空用获取属性类指令确认实际属性名和属性值
验证失败直接中断流程falseResultHandling 设为 THROW_EXCEPTION需要继续流程时改为 OUTPUT_RESULT
结果与预期不符不同平台或控件支持的属性名不同以当前设备实际属性为准,避免复用不兼容属性名
下游取不到验证结果未配置输出变量检查「将结果保存至」是否填写

代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。

# 验证提交按钮是否具有 enabled 属性
bots.mobileVerifyElementHasAttribute(
selector="//*[@text='提交']",
attributeName="enabled",
timeout=10000,
falseResultHandling="OUTPUT_RESULT",
outKey="hasAttr",
)

可视化表单里的「元素选择器」「属性名称」「超时时间」「False结果处理」「是否发送消息」「将结果保存至」分别对应代码里的 selectorattributeNametimeoutfalseResultHandlingsendMsgFlagoutKey

如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。

A: 必填参数为 selector(元素选择器)和 attributeName(属性名称)。outKey 用于保存结果,建议填写;timeout 为高级选项,默认 10000(单位毫秒 ms)。

A: 属性值为 null 或空字符串时,返回 False。属性值不为空时,返回 True

A: 支持 Android 和 iOS 平台。常见属性名包括 enabledtextvisibleclickableselectedchecked 等。不同平台和控件类型支持的属性名可能不同。

A: 使用准确的属性名,不同平台和控件类型支持的属性名可能不同。使用精确的选择器,避免定位到错误的元素。结合条件判断,根据验证结果执行不同的后续操作。

A: 该参数用于控制验证失败场景下的执行行为,支持两种策略(括号内为需传入的参数值):

输出结果(OUTPUT_RESULT,默认):验证失败时输出 False 结果到 outKey,继续执行后续流程。

抛出异常(THROW_EXCEPTION):验证失败时抛出异常,中断当前流程执行。