Files
skill-template/tests/integration/README.md
2026-05-03 17:52:52 +08:00

2.1 KiB
Raw Blame History

integration可选集成 / 真实外联)

本目录默认不执行

  • python tests/run_tests.py 只收集 tests/ 根目录下 test_*.py不会进入本目录。
  • 本目录下文件一律为 *.py.samplepytest / unittest 默认也不会按普通 test_*.py 收集。

何时使用

场景 建议 OPENCLAW_TEST_TARGET 其它条件
本地 / CI 对接仿真 HTTP simulator_api 仿真服务如 http://localhost:5180
仿真页面 / 录播 RPA simulator_rpa 本地页面或沙箱浏览器 profile
真实 API(只读优先) real_api ALLOW_REAL_API=1;写操作另需 ALLOW_WRITE_ACTIONS=1
真实 RPA(最高风险) real_rpa ALLOW_REAL_RPA=1仅手动触发

环境变量(与 adapter_test_utils 一致)

  • 目标档位(二选一键名,后者为历史拼写):OPENCLAW_TEST_TARGETOPENCLOW_TEST_TARGET
    取值:unit | mock | simulator_api | simulator_rpa | real_api | real_rpa
    默认未设置等价于 unit

  • 授权开关(显式 1 才启用):

    • ALLOW_REAL_API=1
    • ALLOW_REAL_RPA=1
    • ALLOW_WRITE_ACTIONS=1(对写操作 / 提交表单类步骤)

安全约束

  • 禁止在样例或复制后的测试代码中硬编码真实账号、密码、token、cookie、生产 URL。
  • 凭证应来自平台密钥库、受控环境变量或本机安全配置(.env 已列入 tests/.gitignore,勿提交)。
  • 真实 RPA 可能对 ERP/TMS/WMS 等产生真实操作;务必沙箱账号、只读权限,并由人工触发 CI job。

如何运行某个样例

  1. 将目标 *.sample 复制为 test_*.py(去掉 .sample)。
  2. 按技能修改其中的占位 URL / 路由 / 断言。
  3. 使用 pytest 指向该文件(或整目录),并导出上表所需环境变量。
$env:OPENCLAW_TEST_TARGET = "simulator_api"
pytest tests/integration/test_simulator_api_contract.py -v