标准场景覆盖
标准场景覆盖¶
根目录下的 taxonomy.yaml 定义了语义覆盖 ID。qa/scenarios/ 下的场景 YAML 文件将每个场景映射到这些 ID,并包含自身的执行元数据;execution.channel 或 execution.channels 声明了渠道要求。分类法配置(Taxonomy profiles)会选择覆盖 ID 或整个类别,目录会解析这些配置的主要场景所有者。传输运行器会对该结果应用渠道和 Provider 资格规则,而不是维护场景 ID 允许列表。渠道驱动是一种可互换的运行级实现选择。
对于 qa suite、qa run --qa-profile 以及专用的传输 QA 命令(如 qa telegram),省略 --scenario 即可使用默认选择。如果提供了该参数,则至少需要一个非空场景 ID;有效 ID 周围的空白字符以及与有效 ID 同时出现的空值都会被忽略。全空白的选择会在传输运行器派发前被拒绝。
静态的 qa coverage 输出会报告分类法到场景的映射。实际证据来自 qa-evidence.json,其中记录了已执行的场景、覆盖 ID、渠道、实际使用的驱动以及结果。渠道和驱动是报告维度,而不是额外的覆盖 ID 词汇表或场景资格轴。
如需在不将 Docker 引入 QA 路径的情况下使用一次性 Linux VM 执行通道,请运行:
这会启动一个全新的 Multipass 客户机,安装依赖项,在客户机内构建 OpenClaw,运行 qa suite,然后将常规 QA 报告和摘要复制回宿主机上的 .artifacts/qa-e2e/...。它复用了宿主机上 qa suite 的场景选择行为。
默认情况下,宿主机和 Multipass 的 suite 运行会以隔离的网关工作进程并行执行多个选定的场景。qa-channel 的默认并发数为 4,并以所选场景数量为上限。使用 --concurrency <count> 调整工作进程数,或使用 --concurrency 1 进行串行执行。对于个人助手基准测试,请使用 qa run --qa-profile personal-agent --provider-mode mock-openai;对于源代码检出遥测检查,请使用 --qa-profile observability。CI 对 smoke-ci 使用相同的 profile 解析器;这些选择器都不会维护第二个场景 ID 列表。
当任何场景失败时,命令会以非零退出码退出。如果你希望获取制品但不想让命令以失败退出码结束,请使用 --allow-failures。
实时运行会转发适用于客户机的受支持 QA 认证输入:基于环境变量的 provider 密钥、QA 实时 provider 配置路径,以及 CODEX_HOME(如果存在)。请将 --output-dir 保持在仓库根目录下,以便客户机可以通过挂载的工作区写回数据。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw