Graph 自动化参考
Graph 用可视化流程编排 Object、Query 和 Variable。它适合多步骤、分支、等待、超时和需要断点验证的自动化逻辑。
何时查这页
- 不确定应该使用 Page method、Graph 还是 C# Script;
- 节点端口无法连接,或 Build 报类型、引用和参数错误;
- 需要编排等待、超时、操作员确认或异常恢复;
- Debug 没有在预期断点暂停,或暂停后不知道下一步;
- 修改已经保存,但运行版本仍在执行旧流程。
入口与核心对象
在 Resources → Graphs 新建或打开 Graph。可以从 Object tree 把对象拖到画布生成调用节点,也可以右键画布从插入菜单选择节点。
| 对象 | 作用 |
|---|---|
| Method | Graph 的可调用入口;一个 Graph 可以有多个 method |
| Control port | 表达执行顺序,例如一步完成后走哪个分支 |
| Value port | 在节点之间传递字符串、数字、布尔值、对象或结构化数据 |
| Breakpoint | Debug 模式下在指定节点暂停 |
| Graph Variable | 仅属于当前 Graph 实例的临时值 |
Object 绑定 Graph 后,Graph method 会成为该 Object 的扩展能力,供 Page、其他 Graph 或运行生命周期调用。
节点速查
| 节点 | 用途 |
|---|---|
| Method | 定义入口参数、返回值和第一步执行位置 |
| Function | 调用 Object 或标准库方法 |
| Query | 调用 App Settings 中定义的 HTTP Query |
| If / Switch | 按条件选择分支 |
| Foreach | 顺序处理集合中的每一项 |
| Concurrent | 并行执行多条分支,全部完成后继续 |
| Get Variable / Set Variable | 读写 Graph、App 或 Saved Variable |
| Wait Until | 重复检查条件;成功和超时走不同出口 |
| Confirm | 等待运行页操作员确认、取消或超时 |
| Subgraph | 调用同一 Object 上的另一个 Graph method |
控制端口表示“先后顺序”,值端口表示“数据来源”。连线时类型必须匹配;需要默认值时在节点 Properties 中设置,而不是用错误类型勉强连接。
什么时候用 Graph
| 需求 | 推荐位置 |
|---|---|
| 单个按钮调用一次 Object method,再显示提示 | Page Flow method |
| 多步骤设备顺序、分支、等待、超时和恢复 | Graph |
| 协议、复杂算法或标准库没有的设备能力 | C# Script 中的 Object method,再由 Graph 调用 |
| 页面布局、显示格式和导航 | Page / Component |
把稳定动作封装成有业务含义的 Object method,例如“回零”或“读取条码”;Graph 只编排这些能力,不重复底层地址和协议。
Variable scope
| Scope | 定义位置 | 生命周期 |
|---|---|---|
| graph | 当前 Graph 属性 | 每个 Graph 实例独立,适合流程临时值 |
| app | App Settings → Variables | 在当前已加载运行时中跨 Page / Graph 共享;重新加载或重新部署后从初始值开始 |
| saved | App Settings → Variables | 当前值由 Runtime target 保存,重启后继续使用 |
使用 Get Variable / Set Variable 选择明确 scope 和 Variable。不要用 Graph Variable 保存需要跨 App 重启保留的参数。
等待、超时与生命周期
- 所有现场等待都要有明确完成条件和可接受的超时策略。
- Wait Until 的 Success 接正常流程,Timeout 接报警、重试、取消或安全停止;不能接受无限等待时不要把 Timeout 留空。
- Confirm 会等待运行页响应。多人同时打开时,只有第一个有效响应会生效。
- 绑定 Object 的
Init用于启动准备,Dispose用于停止清理。 Update属于周期扫描路径,只放短小且有界的检查。长等待或外部 IO 应由异步 Object method 或独立状态流程承担。
Build 与 Debug
Graph 保存后必须生成有效运行产物。显式 Build 可以在启动前发现问题;Start 和 Debug 也会按需准备并部署当前 runtime package。
调试流程:
- 在需要观察的节点设置 Breakpoint。
- 确认 App 已停止,并选择正确 Runtime target。
- 点击 Debug。
- 命中断点后状态变为 Paused,Graph 会定位当前节点。
- 检查变量、Object 状态、Problems 和 Console,再选择 Continue 或 Stop。
- 修改流程前先 Stop;Paused 仍然占用运行时,不能直接 Build 新版本。
关键规则
- Graph 负责流程,不负责画面布局或设备协议。
- Query 来自 App Settings;不要在 Graph 中复制 URL、认证和请求体。
- Object、method、Variable 和 Query 引用必须指向当前 App 中真实存在的资源。
- 每条异常、取消和超时路径都要有明确结果。
- Running、Debugging、Paused、Starting 或 Stopping 时不会替换 live Object tree。
- 保存成功不等于 Build 成功,Build 成功也不等于现场流程已经验收。
如何验证
- 保存后检查 Problems 中的缺失端口、类型不匹配和无效引用。
- 执行 Build,修复全部阻止性诊断。
- 在模拟对象或安全测试环境中先走 Debug。
- 分别验证正常条件、False 分支、Timeout、取消和设备异常。
- 检查 Pause / Continue / Stop 能否收敛到预期状态。
- 最后在真实设备上按现场批准的测试计划低风险试运行。