Skip to content

Playwright App Shell

目的

網頁/UI 驗收必須證明使用者看得到的 實際 route + app chrome,不是 welcome 畫面或元件單元假陽性。

硬閘

  1. bypass onboarding 進有 BottomNav 的 app shell([data-testid=bottom-nav])。
  2. 驗 FontAwesome icon 與目標頁,不要在 welcome/post-setup intro 就 PASS。
  3. 多步驟/全螢幕流程:檢查 BottomNav/safe-area 有沒有遮住表單或主 CTA。
  4. 長表單 route 應設 meta.hideAppChromeApp.vuefull-screen-route),Playwright 斷言該頁 沒有 BottomNav。

套件對照

改動suiteCI
首頁/導覽/功能列表/設定殼npm run playwright:ui-layout --prefix frontend
預算儲蓄playwright:budget-save
分析匯出playwright:analysis-export
載具同步playwright:carrier-sync
跨月預算playwright:budget-cross-month
發薪週期playwright:budget-pay-cycle
銀行同步設定playwright:bank-sync有(本方案納入 CI)

closeout:verify 不含 Playwright。Hermes closeout 要加 --playwright <suite>

共用 onboarding

frontend/scripts/playwright-*.mjs 有自己的 completeOnboarding()。改 welcome 文案會全套一起炸——改 wizard 時必須重跑相關 suite。

Browsers 路徑:CI 用 PLAYWRIGHT_BROWSERS_PATH 指向 backend/.server-data/playwright-browsers。本機:

bash
cd backend && npm run playwright:install-browsers

引用

StrawMoneyBook Developer Guide