跳到主要内容

步骤组

把逻辑上相关的步骤收成一组,方便折叠、整体禁用、整体拖放。也可以用多线程同时跑组内的直接子步骤。

当前模块定义

sys:group程序流程Loop
标准模块
输入 5 · 输出 2

输入参数

  • 忽略错误skipErrBoolean可选

    忽略内部步骤的错误,继续允许后续代码

    填写 固定输入默认 false
  • 调试运行时不输出调试内容skipWhenDebuggingBoolean可选

    用以减少不必要的调试输出

    填写 固定输入默认 false
  • 使用多线程useMultiThreadBoolean可选

    ⚠通常不要选择! 请阅读文档详细了解后再使用。

    填写 固定输入默认 false
  • 多线程使用WaitAny模式waitAnyBoolean可选

    任意一个线程结束即可。

    填写 固定输入默认 false
  • WaitAny模式下自动取消其它分支cancelRemainingOnWaitAnyBoolean可选

    启用WaitAny时,任一分支完成后请求取消其它未完成分支,并阻止其执行后续步骤。取消为协作式取消,不保证立即终止正在执行的步骤。

    填写 固定输入默认 false

输出参数

  • 是否成功isSuccessBoolean

    内部步骤是否运行成功

  • 错误消息errorMessageText

概述

从工具箱拖入步骤组,再把其它模块拖进组里。已有步骤可以多选后右键 放入... → 步骤组

步骤组

一组有关的模块(方便整体禁用、删除等)
是否成功
-- 选择变量 --
内部步骤是否运行成功
错误消息
-- 选择变量 --
获取窗口信息/查找窗口
提示消息111
等待时间等待 1000 ms
提示消息222

多选时按住 Shift,点第一个和最后一个。

参数说明

忽略错误:组内步骤出错(包括用了停止)时,仍继续执行此步骤组后面的模块。

调试运行时不输出调试内容:忽略组内步骤的调试输出。

使用多线程:通常不要选。用多线程同时跑组内的直接子步骤。这些步骤应彼此独立。若子步骤本身是步骤组 / 如果等,它们内部的下一级仍按顺序执行。

步骤组

一组有关的模块(方便整体禁用、删除等)

多线程使用WaitAny模式:任意一个线程结束即可向后继续。其它未完成的步骤仍会跑,但不会被等待。

WaitAny模式下自动取消其它分支:启用 WaitAny 时,任一分支完成后请求取消其它未完成分支,并阻止其执行后续步骤。取消是协作式的,不保证立刻停掉正在跑的步骤。

输出

  • 是否成功:内部步骤是否运行成功。
  • 错误消息:失败时的消息。

限制与排障

多线程时不要同时改同一个变量。同步执行时调试 log 会关掉。停止动作、跳出循环等跳转在多线程里可能失效,需要实测。

示例动作

多线程测试
步骤组
步骤组
提示消息111
等待时间等待 1000 ms
提示消息222
等待时间等待 1000 ms
步骤组
提示消息333
等待时间等待 1000 ms
每个对 {list} 的每项执行
·运行子程序
等待时间等待 1000 ms
提示消息{dict}

相关链接

更新历史

  • 1.7.4 增加多线程支持。
  • 20240327 增加多线程 WaitAny 模式的说明。

更新于