iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

Playwright 玩家攻略:從新手村到魔王關 系列

從建立專案、元素定位的新手村出發,一步步通關 CI/CD、非同步與 Flaky Test 的魔王關!

鐵人鍊成 | 共 30 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文 團隊兩貓一犬一條龍小隊
DAY 21

Day 21:自動化基地 (一)|在 GitHub Actions 上建立 CI/CD 流程

上一篇我們掌握了建立 Page Object Models 的設計模式,提高了測試程式的可讀性與可維護性,接著來談談如何將測試案例加入 Github CI/CD...

2025-09-30 ‧ 由 adaliao 分享
DAY 22

Day 22:自動化基地(二)|在 GitLab 上建立 CI/CD 流程

上一篇已經嘗試了在 Github Aictions 上建立 CI/CD 流程,若團隊以 GitLab 作為主要的開發與協作平台,我們同樣可以打造對應的自動化流程...

2025-10-01 ‧ 由 adaliao 分享
DAY 23

Day 23:打造移動基地(一)|用 Docker 建立測試環境

雖然我們已經讓測試可以成功地在 Github / Gitlab 上運行,但是在不同專案、不同環境,或是不同機器上,測試結果可能大相逕庭,如何確保測試環境的一致性...

2025-10-02 ‧ 由 adaliao 分享
DAY 24

Day 24:打造移動基地(二)|用 Dockerfile 建立測試環境

昨天我們使用指令 docker run 起好 Docker 環境,再輸入指令在 docker 容器內執行 Playwright 測試,但每次都得重新輸入一長串指...

2025-10-03 ‧ 由 adaliao 分享
DAY 25

Day 25:幽靈模式 On / Off|Headless 與 Headed 模式

相較於直接使用Playwright 的 VSCode Extension - Playwright Test for VSCode 或是 debug 模式,在...

2025-10-04 ‧ 由 adaliao 分享
DAY 26

Day 26:撰寫英雄史詩|生成華麗的戰報 Allure Report

測試報告是測試裡非常重要的一環,讓我們的產出變得具象化,就像是辛苦的戰役過後,清楚地記錄所有過程、勝負的戰報,讓團隊能一目了然地看到成果與問題。 Test R...

2025-10-05 ‧ 由 adaliao 分享
DAY 27

Day 27:VIP 通行證 (一)|藉由 storageState 實現秒速進入戰場:基礎應用

如果測試的頁面需要登入,每次執行測試時都會重新進行登入流程。這是因為 Playwright 在每個測試中都會啟動全新的無痕瀏覽器環境,導致登入狀態無法像一般瀏覽...

2025-10-06 ‧ 由 adaliao 分享
DAY 28

Day 28:VIP 通行證 (二)|藉由 storageState 實現秒速進入戰場:進階應用

上一篇運用 storageState() 成功從正常登入流程拿到驗證資料,並在後續的測試當中重複使用,如此就不必在每次的測試之前重複再走一遍登入流程。接著,要更...

2025-10-07 ‧ 由 adaliao 分享
DAY 29

Day 29:VIP 通行證 (三)|藉由 storageState 實現秒速進入戰場:多角色應用

雖然直接呼叫 API 獲取 Token 是一個可行方案,但考量到 E2E 測試的核心是模擬使用者行為,加上若 API 回傳的資料格式(非 Cookie)將增加測...

2025-10-08 ‧ 由 adaliao 分享
DAY 30

Day 30:大魔王終極挑戰|Flaky Tests 的 Debug 策略

終於,我們來到了 E2E 測試的最終大魔王 ─ Flaky Tests (不穩定測試)。要編寫出一個能成功執行的測試腳本或許並不困難,但要如何讓測試能夠穩定地執...

2025-10-09 ‧ 由 adaliao 分享