上一篇運用 storageState() 成功從正常登入流程拿到驗證資料,並在後續的測試當中重複使用,如此就不必在每次的測試之前重複再走一遍登入流程。接著,要更...
前情提要 在 Day 21 我們建立了測試框架的基礎設施,使用 Node.js 內建測試執行器來撰寫單元測試。今天我們要更進一步,實作整合測試 (Integra...
如果測試的頁面需要登入,每次執行測試時都會重新進行登入流程。這是因為 Playwright 在每個測試中都會啟動全新的無痕瀏覽器環境,導致登入狀態無法像一般瀏覽...
測試報告是測試裡非常重要的一環,讓我們的產出變得具象化,就像是辛苦的戰役過後,清楚地記錄所有過程、勝負的戰報,讓團隊能一目了然地看到成果與問題。 Test R...
相較於直接使用Playwright 的 VSCode Extension - Playwright Test for VSCode 或是 debug 模式,在...
昨天我們使用指令 docker run 起好 Docker 環境,再輸入指令在 docker 容器內執行 Playwright 測試,但每次都得重新輸入一長串指...
雖然我們已經讓測試可以成功地在 Github / Gitlab 上運行,但是在不同專案、不同環境,或是不同機器上,測試結果可能大相逕庭,如何確保測試環境的一致性...
上一篇已經嘗試了在 Github Aictions 上建立 CI/CD 流程,若團隊以 GitLab 作為主要的開發與協作平台,我們同樣可以打造對應的自動化流程...
歷經一連串初階副本任務,我們已經習得不少進階的實戰技巧。接著,將迎來新的挑戰,認識 Page Object Models (以下簡稱 POM)。透過建立專屬的...
上一篇我們學會了如何處理對話框,由於不曉得對話框何時出現,所以必須設置一個監聽器來處理,接著我們要來聊聊另一個非常類似的狀況:不知道預期的結果需要等多久才會出現...
上一篇我們已經學會運用序列以及篩選的方式來準確定位,但除此之外,我們還可能遇到畫面上沒有文字(無法用 getByRole 或 getByText),也沒有 la...
前兩篇我們解鎖了定位「重複元素」以及「隱形元素」的技能,接著,下一個任務,我們要解鎖的技能是「檔案的上傳與下載」,這也是一個在使用網頁時很常見也很實用的操作行為...
在真實的測試戰場裡,怪物(元素)很少會乖乖只出現一個。更多時候,你會面對一大群長得一模一樣的敵人:十幾個按鈕、數百個表格列、成群結隊的清單項目。 思考一下,我們...
上一篇我們成功地運用 Hooks 收納重複執行的程式碼,只需編寫一次就可重複使用,大大提升了可讀性,但是,各位玩家們請仔細看一下 describe 內的測試:...
上一篇在認識 Timeout 時提到 Hooks,Hooks 是測試框架裡非常常見的生命週期輔助方法,大部份的測試框架命名都大同小異,我們開始來認識 Playw...
前一篇我們理解了 Playwright 的 async / await 機制如何讓測試能夠一步步按照順序執行,現在來談談 Playwright 另一個執行測試時...
介紹到這邊,相信細心的玩家已經發現了,測試案例必須以 async 宣告,而每一條操作、斷言,前方都必須加上 await,這就是 Playwright 非常重要的...
前兩篇介紹了斷言的基本應用以及進階技巧,Playwright 斷言的設計與特性,結合各式各樣的 matcher,已經足以應付大部分的測試場景,然而,當我們發現測...
上一篇認識了 Assertion(斷言) 的基本應用,except() 自動等待的設計結合多樣性的 matcher 讓我們可以在多變的網路戰場中應對自如,但是,...
定位元素 + 模擬操作,已經能夠真實呈現使用者的操作流程,不過,測試最重要的核心價值在於驗證結果是否與預期相符,因此,就必須談到測試當中非常重要的一環:Asse...
上一篇認識了定位元素的方法,定位到元素之後,那麼要如何模擬使用者在網頁上的行為呢?這時候就必須加上 Actions 了,Playwright 提供完整的 Act...
以下這段是 Playwright 安裝好後的範例: import { test, expect } from '@playwright/test'; test...
聯繫我 如果有任何問題或建議,歡迎隨時聯繫我: GitHub Email 前言 過去幾天,我們一頭栽進了「單元測試」的世界。我們學會了如何像個鐘錶師...
安裝好 Playwright 之後,我們先來認識一下要如何執行測試吧!Playwright 提供多種執行測試的方式,除了可以檢查執行結果,觀察執行過程,也能用來...
選定武器之後,我們就準備要來開疆闢地了!...等等! 雖然已經決定好要使用 Playwright,但 Playwright 支援多語言,到底要用哪個語言來編寫測...
說到網頁自動化測試,首先不得不提已有超過 15 年歷史的 Selenium,作為自動化測試的先驅,發展成熟,支援多種語言,也有眾多第三方工具可以使用,是自動化測...
去年,首次踏進軟體業,面對陌生的領域,怎麼也沒想到,最後會拿起 Playwright 之劍,在 E2E 測試領域披荊斬棘。 這是怎麼發生的呢?一切都還得從公司的...
筆者OS: 原本今天要講如何用Docker將測試自動化,但我在查資料的時候對於多階段測試 (Multi-stage Testing),到底是甚麼產生了疑問,所...
經歷了上個章節的安裝,總之是先將Cypress的環境給建置起來了接下來這個章節要來探討Cypress的寫法與語法 所謂的e2e測試到底是怎麼運作起來的呢?我們來...
介紹完 Cypress 使用方法後,由於它真的是一個上手難度低且非常好用的端對端測試框架,今天要來介紹好用的外掛。 Cypress Real Events 鑑於...