設計視角
把需求、介面狀態與操作結果轉譯為使用者可理解的驗證條件。
以 Playwright + Python 建立 UI 自動化測試,將頁面導覽、語言切換與後台管理流程整理成可重複執行的 Regression Testing。
$ python -m pytest -v
為保護內部資訊,產品介面以重製示意呈現;測試編號、技術架構與執行結果來自實際測試文件。
00 · Overview
功能持續迭代後,每次修改都要重新確認頁面顯示、操作流程與互動結果。我將這些有明確步驟與預期結果的工作整理成 Test Case,再交由瀏覽器自動執行。
設計不只停在 Figma;產品上線後的實際呈現與互動,也需要能被持續驗證。
把需求、介面狀態與操作結果轉譯為使用者可理解的驗證條件。
使用 Page Object、共用流程與語意化 Locator,降低測試重複與維護成本。
01 · Problem
側邊導覽、語言切換與後台功能,每次修改後都需要逐頁重新操作確認。
人工驗收依賴記憶與當下注意力,功能增加後更難維持固定範圍。
Figma 能定義預期,但正式產品的文字、狀態與互動仍需要在瀏覽器中確認。
若沒有 Test Case 與問題筆記,同樣的定位、登入或元件問題會重複處理。
02 · My Decision
判斷:只有自動操作腳本仍難以確認範圍與預期結果。
判斷:若每個測試都重寫元素定位,介面一改就要大量同步修改。
判斷:共用測試站尚未準備專用資料,新增或刪除可能影響其他人。
03 · Test System
測試不是一次性的錄製結果。我採用 Page Object Model,將測試意圖、頁面操作與共用環境分開管理。
描述要驗證什麼與預期結果。
集中管理頁面元素與操作。
模擬使用者操作 Chromium。
比對實際狀態與預期結果。
def test_interface_language_can_be_switched(page):
platform = PlatformManagerPage(page)
platform.goto()
platform.switch_language(
current_language="繁體中文",
target_language="English",
)
platform.expect_navigation_label(
"User Management"
)
04 · Test Evidence
3 tests
8 tests
4 tests
1 test
3 tests
3 tests
每個案例都有固定編號、功能範圍、測試項目、預期結果與備註。文件不只記錄「有跑過」,也說明哪些操作刻意不執行,以及原因。
05 · Outcome
以下為 2026/08/28 的階段成果,測試數量會隨後續管理頁與測試資料持續更新。
涵蓋連線、導覽、總覽、語言與兩項後台管理流程。
最近一次完整執行沒有失敗或略過項目。
可在每次產品修改後快速重新確認主要操作。
現階段採唯讀策略,避免測試影響共用環境資料。
依照記憶逐頁操作與檢查
Now固定 Test Case+一行指令執行完整回歸
06 · Reflection
這次實作讓我更清楚地把「設計預期」寫成可被驗證的條件。Page Object 與測試文件也讓經驗不只存在個人操作裡,而是能被維護與延伸。
目前仍以唯讀測試為主,適合確認頁面與互動是否正常;真正涉及新增、修改與刪除的流程,還需要專用測試資料與更清楚的環境隔離。