使用情境 · Codex

用 Codex 和 Playwright 做 QA 測試

Codex 可以在你的儲存庫裡撰寫和修正 Playwright 測試;搭配 Playwright MCP 伺服器,還能在真正的瀏覽器裡檢查你的 App。在腳本裡執行時,codex exec 會從 stdin 讀取測試輸出,所以失敗的測試套件可以直接交給 Codex 摘要並修正。本頁說明設定、規則和指令。

QA 測試:Codex 能做什麼

  • 為重要的流程寫端對端測試:註冊、結帳、主要畫面。
  • 執行測試套件、讀懂失敗原因,然後修正測試或程式碼,並說明修的是哪一個。
  • 操作真正的瀏覽器親手檢查變更,回報 bug 時附上重現步驟和截圖。
  • 找出不穩定的測試,隔離起來並開 issue,而不是一直重試到通過為止。

QA 測試:用得上的 Codex 功能

功能用途怎麼開始
Playwright MCP 伺服器操作真正的瀏覽器來檢查變更codex mcp add playwright npx "@playwright/mcp@latest"
把 stdin 導入 codex exec導入的測試輸出會成為提示詞的脈絡npm test 2>&1 | codex exec "..."
--output-schema以符合你 schema 的 JSON 回傳結果,給 CI 用codex exec --output-schema schema.json
/review提交前審查測試的變更在 CLI 裡輸入 /review

QA 測試:如何設定 Codex

  1. 連接工具

    一行指令加入 Playwright MCP 伺服器,或在 config.toml 裡寫同樣的表。如果測試需要連到 staging 網站,就為沙箱開啟網路存取。

    # 用來做探索性檢查的真正瀏覽器
    codex mcp add playwright npx "@playwright/mcp@latest"
    
    # 或寫在 ~/.codex/config.toml
    [mcp_servers.playwright]
    command = "npx"
    args = ["@playwright/mcp@latest"]
  2. 把規則寫進 AGENTS.md

    Codex 在開始任何工作前都會讀取 AGENTS.md:先讀 ~/.codex/AGENTS.md,再從儲存庫根目錄一路讀到它工作的資料夾。把這項工作的規則寫在那裡;規則很長的話,放進 .agents/skills/ 下的 skill。參見 AGENTS.md 指南。

    ## QA 規則
    - 在本機或 staging 環境測試,絕不在正式環境測試。
    - 使用 .env.example 裡的測試帳號,絕不使用真實帳號。
    - 測試失敗就是一項發現:改動測試或程式碼之前,
      先說清楚是測試錯了還是程式碼錯了。
    - 每份 bug 回報:重現步驟、預期結果、實際結果、截圖,
      以及你測試的那個 commit。
    - 不要為了讓測試套件通過而刪除或略過測試。
  3. 不開互動介面也能執行

    codex exec 執行一個任務後就結束。進度輸出到 stderr,最終訊息輸出到 stdout;-o 會另外寫進檔案,--json 則以串流輸出事件。除非傳入 --sandbox workspace-write,否則沙箱是唯讀的。

    # 把失敗的測試輸出交給 Codex
    npm test 2>&1 | codex exec "摘要失敗的測試,並提出最小的可能修正"
  4. 排入排程

    在 ChatGPT 桌面 App 或網頁版建立排程任務(CLI 無法管理排程任務),或從 cron 執行 codex exec。參見如何讓 Codex 主動工作。

來源:Codex 文件

限制與安全

  • 它只能測試它連得到的東西:用測試資料的本機或 staging 環境,不是正式環境。
  • 測試套件通過,只代表有人寫了測試的流程沒問題。請它列出還沒涵蓋的部分。
  • 瀏覽器測試很慢,也更耗你方案的用量。完整測試套件依排程跑,每次變更只跑冒煙測試。
  • Codex 預設會把指令放進沙箱:寫入只限於工作區,網路關閉。danger-full-access 只留給隔離的 runner 或容器使用。

QA 測試,用 Claude Code 還是 Codex?

規則可以共用。在 AGENTS.md 寫一次,再把 @AGENTS.md 放進 CLAUDE.md,兩個 agent 就會讀同一份檔案。

另一個 agent 的逐步做法:Claude Code QA 測試。

Claude CodeCodex
規則檔CLAUDE.mdAGENTS.md
連接工具claude mcp addcodex mcp add 或 config.toml
你不在也能執行claude -pcodex exec
排程/schedule、桌面排程任務、/loopChatGPT App 的排程任務、cron
內建功能(QA 測試)Playwright MCP、subagentPlaywright MCP、把 stdin 導入 codex exec
使用 Crewmark

QA 測試:讓它成為某個人的固定工作

指令只在有人記得時才會執行。Crewmark 把你自己的 Codex 變成 AI 員工,有職位、量化目標、工作時間和心跳,工作就會依排程完成,並出現在看板上。

  1. 從職位開始

    AI 軟體工程師:在職位說明裡寫上這些規則。

  2. 把工作放上它的看板

    把這項工作加成週期性 issue。員工依心跳醒來,做完後以評論回報。

  3. 相關內容

    GitHub issue 說明它回報的 bug 之後會怎麼處理。

常見問題

Codex 能用 Playwright 嗎?

可以。用 codex mcp add playwright npx "@playwright/mcp@latest" 或在 config.toml 裡加入 Playwright MCP 伺服器,Codex 就能操作瀏覽器;它也能撰寫和執行 Playwright 測試。

如何在 CI 裡用 Codex 處理失敗的測試?

把測試輸出和提示詞一起導入 codex exec,再用 -o 或 --output-schema 取得你的 CI 流程讀得懂的結果。GitHub Actions 的話,OpenAI 建議用 openai/codex-action。

為什麼 Codex 的測試連不到我的 staging 網站?

預設的 workspace-write 沙箱會關閉網路存取。在 config.toml 的 [sandbox_workspace_write] 底下設定 network_access = true。

已於 2026 年 11 月 13 日對照 Claude Code 文件和 OpenAI 的 Codex 文件查核。

QA 測試,交給 Codex 上的 AI 員工。

Crewmark 把 Claude Code 和 Codex 工作階段變成有職位、目標、工作時間和心跳的 AI 員工。