Skip to Content
👋 嘿,欢迎使用 Auto Engine! 我们已经发布最新Beta版本 0.2.0 了解详情
使用文档节点执行条件

执行条件(Conditions)

Conditions 用于控制节点是否运行,是流水线里的轻量级守卫。它支持三类判断:

  • exist:要求上下文中必须存在某个键
  • not_exist:要求上下文中不能存在某个键
  • condition:布尔表达式(支持变量占位符)必须返回 true

系统会依次校验这些字段,只要有一项不满足,节点就会被跳过并返回错误。

字段说明

字段类型说明
existstring需要存在的上下文键名,例如 find-btn.btn.png。若不存在则直接失败。
not_existstring必须不存在的键名,用于阻止重复执行。若存在则失败。
conditionstring布尔表达式;执行前会先进行变量替换,再用 evalexpr 求值,需返回 true

同时声明多个字段时,校验顺序为:existnot_existcondition

变量占位符

conditionexist/not_exist 中的值都可以引用上下文变量,例如 ${find-btn.btn.png.x}。在校验阶段,系统会调用 parse_variables 把占位符替换为实际值,再进行判断。

YAML 示例

conditions: exist: "find-submit.submit.png"

仅当图像识别节点已经找到 submit.png 时才继续执行。

conditions: not_exist: "completed"

如果上下文里已有 completed 标记,则终止该节点,防止重复执行。

conditions: exist: "find-input.input.png" condition: "${find-input.input.png.x} > 500 && ${env} == \"prod\""

既要求元素被识别到,也要求其 X 坐标大于 500 且当前环境为生产。

使用建议

  • 优先用 exist/not_exist 处理“元素是否存在”这类简单判断,性能更好。
  • 布尔表达式必须返回 true/false;如果写成非布尔表达式,系统会抛出 ... is not boolean 的错误。
  • 当依赖于某个节点输出时,记得保持变量命名一致,例如 find-node.image.png
  • 若条件失败无需报错,可以把节点单独拆成一个 stage,再通过 stage 条件进行柔性控制。
最后更新于: