必须按目录路径显式定义测试顺序:tests/下分平台分层存放,用codex planner生成yaml执行清单,再通过shell脚本或playwright单worker串行执行,每步独立报告且需人工确认状态后推进。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让Codex按顺序运行多套测试,必须打破“所有测试一起跑”的惯性思维——不同平台、不同环境、不同依赖的测试不能共用同一执行上下文,否则会出现浏览器实例冲突、状态残留、报告覆盖等问题。
准备可顺序执行的测试目录结构
进入项目根目录,确保 tests/ 下按平台和阶段分层存放,例如:
tests/web/login.spec.ts
tests/web/dashboard.spec.ts
tests/app/push.spec.ts
tests/api/order-create.spec.ts
每个子目录对应一个逻辑闭环,不跨目录引用 page object 或 fixture。Codex 无法自动识别“先 web 再 app”,必须靠目录路径显式表达顺序。
【tests/ 目录下禁止出现无明确阶段标识的通用文件夹,如 common/、shared/、utils/】
用 Codex Planner 显式生成执行序列
在 Codex 中输入指令:
@playwright_test_planner 请根据 tests/ 下现有 spec 文件路径,生成一份按业务流程顺序排列的测试执行清单。要求:1. 先执行登录类(web/login);2. 再执行主功能类(web/dashboard, app/push);3. 最后执行接口类(api/order-create);4. 输出为 YAML 格式,字段包含 name、path、depends_on。
Planner 会输出类似内容:
steps:
- name: “Web 登录验证”
path: “tests/web/login.spec.ts”
depends_on: []
- name: “Web 仪表盘操作”
path: “tests/web/dashboard.spec.ts”
depends_on: [“Web 登录验证”]
- name: “App 推送触发”
path: “tests/app/push.spec.ts”
depends_on: [“Web 仪表盘操作”]
- name: “订单创建接口验证”
path: “tests/api/order-create.spec.ts”
depends_on: [“App 推送触发”]
用 Codex Generator 构建串行执行脚本
方法一:生成 shell 脚本(推荐用于 CI 环境)
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
向 Codex 发送指令:
@playwright_test_generator 请根据上一步 YAML 清单,生成一个 bash 脚本 run-sequential.sh,逐个执行 steps.path 中的文件。每步执行前打印步骤名,失败时立即退出,并返回非零码。
生成的脚本中关键行示例:
npx playwright test tests/web/login.spec.ts --project=chromium || exit 1
echo "✅ Web 登录验证完成"
npx playwright test tests/web/dashboard.spec.ts --project=chromium || exit 1
方法二:用 Playwright 内置 testMatch + 自定义 worker 控制(适合本地调试)
在 playwright.config.ts 中添加配置项:
testMatch: [‘tests/web/login.spec.ts’, ‘tests/web/dashboard.spec.ts’, ‘tests/app/push.spec.ts’, ‘tests/api/order-create.spec.ts’],
workers: 1
这强制 Playwright 单线程顺序加载并执行匹配到的文件,但注意:它不校验 depends_on 关系,仅靠文件顺序。若某文件被重命名或路径变动,顺序即失效。
启动带状态传递的串行执行
第一步:清理浏览器缓存与本地存储
npx playwright test --project=chromium --headed --debug --grep="login" --run-without-sharding
第二步:执行生成的串行脚本
chmod +x run-sequential.sh && ./run-sequential.sh
第三步:监控每步 stdout 输出中的 ✅ 或 ❌ 标记,失败时立即停止,不继续后续步骤。Codex 不会自动重试失败项,也不合并报告——每步生成独立 HTML 报告,位于 playwright-report/step-01-login/、playwright-report/step-02-dashboard/ 等子目录。
第四步:人工确认 dashboard 步骤成功后,再手动触发 push 步骤。Codex 无法自动判断“仪表盘是否已加载完成”,这个状态需由你根据截图或日志判定。只有你确认了,才允许下一阶段开始。










