iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
自我挑戰組

Playwright 練功房:從零開始的 30 天 E2E 測試教學筆記 系列

這系列文章整理了想要上手 Playwright 必備的基礎知識與核心能力!
內容主要以觀念建立和實作教學為主,把 30 天整理成一套順暢的學習路線——從最基本的環境建置、常用語法與定位器,再到各種常見測試情境的實務操作。希望這份筆記能幫想接觸 Playwright 的你少走一點彎路,輕鬆把 E2E 測試的基本功練起來!

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11 - Fixture 基礎:為什麼我們需要它?

還記得 Day 6 介紹 Page Object Model 時,我們把登入步驟都搬到 LoginPage 類別,雖然登入邏輯集中管理了,但每寫一支新測試,還是...

2026-09-22 ‧ 由 budongcapy 分享
DAY 12

Day 12 - Fixture 進階:相依注入與 Scope

Day 11 我們用 test.extend() 打造了第一個自訂 Fixture loggedInPage,成功讓登入流程自動化。但改寫完的 CRUD 測試,...

2026-09-23 ‧ 由 budongcapy 分享
DAY 13

Day 13 - Worker 機制解析:平行執行原理

昨天我們有簡單介紹 worker-scoped fixture,但沒有特別說明 worker 到底是什麼,今天我們就來詳細介紹 Worker 跟他的平行執行原理...

2026-09-24 ‧ 由 budongcapy 分享
DAY 14

Day 14 - 共用的層級:serial mode 與 context / page 的選擇

上一篇我們介紹了 Worker 的運作原理:每個 Worker 都是獨立的 Node.js 程序,彼此的記憶體完全不共享;而 fullyParallel: tr...

2026-09-25 ‧ 由 budongcapy 分享
DAY 15

Day 15 - 除錯產出物:screenshot、video 與 trace

上一篇我們把測試共用的層級釐清後,實作出了組合 C:只共用 Context,但每支測試各自開新的 Page。這樣既能維持只登入一次的優勢,又能保有測試之間的畫面...

2026-09-26 ‧ 由 budongcapy 分享
DAY 16

Day 16 - 緩衝日②:效能與隔離性的取捨實驗

從 Day 11 到 Day 15,我們介紹了 Playwright 的 Fixture 機制與 Worker 平行化原理:從基本的 fixture 自動注入登...

2026-09-27 ‧ 由 budongcapy 分享
DAY 17

Day 17 - 下拉選單與彈跳視窗:浮層元素的定位

今天要處理下拉選單展開的選項、跳出來的對話框,這些元素有個共同點:它們的 DOM 不是放在觸發它的那顆按鈕底下,而是被 React 的 Portal 丟到 &l...

2026-09-28 ‧ 由 budongcapy 分享
DAY 18

Day 18 - 處理 iframe:使用 frameLocator 定位內層元素

今天我們會說明怎麼對iframe做測試,本來的 react-admin demo 裡並沒有iframe,所以我們會先加上一個很小的iframe頁面,外層是 Re...

2026-09-29 ‧ 由 budongcapy 分享
DAY 19

Day 19 - 處理瀏覽器新分頁:監聽 popup 事件與操作新分頁

在 Day 17 我們處理了下拉選單和 Dialog/Modal的測試:它們會蓋住畫面,但元素仍在原本的網頁裡。Day 18 的 iframe 則是在同一個分頁...

2026-09-30 ‧ 由 budongcapy 分享
DAY 20

Day 20 - 檔案上傳與下載:把檔案交給網頁,再把匯出結果帶回來

今天我們會來處理檔案上傳跟下載功能的測試,Orders 清單右上角有 react-admin 的 ExportButton,按下後會匯出 CSV;這是一個可以直...

2026-10-01 ‧ 由 budongcapy 分享