OpenClaw · Playwright sharding · flake · 遠端 Mac · 二〇二六

2026 OpenClaw 前端實戰:
遠端 Mac 編排 Playwright 分片、聚合報告、flake 閾值與 PR 可讀摘要

2026.04.24 前端 QA/E2E 自動化 約 10 分鐘閱讀

對象:遠端 Mac 上跑雙引擎並將 Playwright sharding 納入 CI 的前端 QA。結論:分片只切工作,OpenClaw閘道讀多份報告、控 flake、產 PR 摘要;邊界畫清才擴縮穩。與單測矩陣文不同,本文專寫 E2E 分片與合併。延伸 Token 摘要DeploymentsVitest 矩陣Docker。💻

痛點:合併計數漂移;retries 無上限誤判品質;閘道越權改測試難審計。

項目 建議由 Runner/Playwright 做 建議由 OpenClaw 閘道做
案例分派 --shard 與專案內 grep 規則 校驗每片皆上傳完整 json
不穩定 本機與 CI 相同瀏覽器版本鎖檔 flake 比率閾值、熔斷訊息
可讀輸出 HTML 報告與 trace.zip 四行 PR 摘要+失敗檔案路徑表

01 分片參數表

下列變數寫入遠端 Mac Job 模板,避免本機與 CI 分片索引錯線。

鍵/旗標 用途 備註
--shard=2/5 第 2 片共 5 片 與矩陣維度一致時才與專案數對齊
--workers=1 分片內序列化 降低螢幕錄影與 GPU 競態 flake
PLAYWRIGHT_HTML_OUTPUT_DIR 每片獨立 HTML 建議含索引於路徑名
--reporter=json,junit 供閘道機讀合併 junit 給趨勢儀表板

02 報告目錄約定

約定目錄可讓合併腳本與 OpenClaw 插件互不猜路徑。

  1. 工件根:artifacts/e2e/${GIT_SHA}/shard-${INDEX}/
  2. 每片必含 report.jsonresults.xml、可選 trace.zip
  3. 合併輸出:artifacts/e2e/${GIT_SHA}/merged/summary.json 與同層 README.pr.md
  4. 閘道只讀 merged,不回寫各分片原始夾,避免競態覆寫。
  5. 與追蹤摘要流程並行時,參考 trace/HAR 摘要文 另開子目錄。

03 OpenClaw 調用邊界

應做:聚合、覆蓋率比對、flake 策略、markdown 摘要、Idempotency-Key不應做:改測試碼或強制全庫重跑;修復見 E2E 修復文

  • 入站只接受已簽章或內網 Runner,摘要內附 OPENCLAW_RUN_ID
  • 缺任一分片檔案則 merged 標記 partial=true,禁止顯示全綠。
  • 與可觀測欄位併送時遵守 Token 摘要文 的階段化欄位命名。

04 重試閾值公式示例

以「每分片案例數」設硬頂,避免無限重試拖垮遠端 Mac 池。

每分片重試上限 = floor(0.15 × cases_per_shard) + 2
全工作流 flake 停損 = min(8, ceil(0.05 × total_cases))

說明:第一式控單片噪音,第二式控整 PR 再驗證次數;超標摘要提示人工看 trace。

可引用資訊
  • 分片計數以 report.json 內統計為準, junit 僅輔助。
  • 冪等鍵建議:${GIT_SHA}:${WORKFLOW}:${SHARD_TOTAL}
  • 遠端 Mac 上 webkit 建議單 worker 以降低視窗合成 flake。

05 常見超時排障

徵兆 優先檢查 動作
單測固定秒數失敗 test.setTimeout 與 hook 總量 拆 hook 或標記慢測另片
僅 webkit 偶發 首屏資源與字型載入 提高斷言前 expect 逾時並錄影比對
整片逾 wall clock Runner CPU 配額與錄影解析度 關閉不必要 trace 或降幀

若逾時集中於部署後首跑,請與 部署 Hook 冒煙 的暖站步驟併讀。

06 可複現五步(主線)

  1. 在矩陣宣告 shardIndexshardTotal,與 Playwright 旗標同步。
  2. 每 Job 結束無論成敗上傳 shard-* 目錄為單一 zip。
  3. 下載全片後於閘道執行合併:加總、去重 flaky id、寫 merged
  4. 套用上一節公式;觸發熔斷則只回傳摘要與連結,不觸發全庫重跑。
  5. 以四行格式回傳 PR:狀態、耗時、失敗檔、後續動作;鍵值與 Deployments 文 對齊。
決策摘要

分片參數表鎖線、目錄約定鎖合併、閘道只做摘要與閾值、flake 有公式即預算可估。要與 CI 同構預演,請租用Apple Silicon 遠端 Mac做雙引擎長時分片。

遠端 Mac · Playwright 分片

選擇與 CI 同 CPU 架構的節點做持續分片

在雲端 Mac 上長時跑 webkitchromium 分片,再交 OpenClaw 合併報告與 PR 摘要;租用頁免登入,並可併看 定價幫助技術見解索引

分片聚合 flake 預算 真機 WebKit
租用遠端 Mac 做分片回歸