2.1 KiB
2.1 KiB
integration(可选集成 / 真实外联)
本目录默认不执行:
python tests/run_tests.py只收集tests/根目录下test_*.py,不会进入本目录。- 本目录下文件一律为
*.py.sample,pytest / 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_TARGET或OPENCLOW_TEST_TARGET
取值:unit|mock|simulator_api|simulator_rpa|real_api|real_rpa
默认未设置等价于unit。 -
授权开关(显式
1才启用):ALLOW_REAL_API=1ALLOW_REAL_RPA=1ALLOW_WRITE_ACTIONS=1(对写操作 / 提交表单类步骤)
安全约束
- 禁止在样例或复制后的测试代码中硬编码真实账号、密码、token、cookie、生产 URL。
- 凭证应来自平台密钥库、受控环境变量或本机安全配置(
.env已列入tests/.gitignore,勿提交)。 - 真实 RPA 可能对 ERP/TMS/WMS 等产生真实操作;务必沙箱账号、只读权限,并由人工触发 CI job。
如何运行某个样例
- 将目标
*.sample复制为test_*.py(去掉.sample)。 - 按技能修改其中的占位 URL / 路由 / 断言。
- 使用 pytest 指向该文件(或整目录),并导出上表所需环境变量。
$env:OPENCLAW_TEST_TARGET = "simulator_api"
pytest tests/integration/test_simulator_api_contract.py -v