上一篇運用 storageState() 成功從正常登入流程拿到驗證資料,並在後續的測試當中重複使用,如此就不必在每次的測試之前重複再走一遍登入流程。接著,要更...
如果測試的頁面需要登入,每次執行測試時都會重新進行登入流程。這是因為 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 內的測試:...
前情提要 昨天我們建立了完整的套件打包策略,為不同類型的套件選擇了最適合的打包工具。今天我們要建立一個全面的測試策略,確保我們的 Monorepo 中每個套件都...
上一篇在認識 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...
安裝好 Playwright 之後,我們先來認識一下要如何執行測試吧!Playwright 提供多種執行測試的方式,除了可以檢查執行結果,觀察執行過程,也能用來...
選定武器之後,我們就準備要來開疆闢地了!...等等! 雖然已經決定好要使用 Playwright,但 Playwright 支援多語言,到底要用哪個語言來編寫測...
說到網頁自動化測試,首先不得不提已有超過 15 年歷史的 Selenium,作為自動化測試的先驅,發展成熟,支援多種語言,也有眾多第三方工具可以使用,是自動化測...
去年,首次踏進軟體業,面對陌生的領域,怎麼也沒想到,最後會拿起 Playwright 之劍,在 E2E 測試領域披荊斬棘。 這是怎麼發生的呢?一切都還得從公司的...
讓我們也把 Web Component 頁面加上一點自動化測試吧!(/≧▽≦)/ 第一步老樣子就是來新增測試檔案。◝( •ω• )◟ e2e\web-compo...
第一步老樣子就是來新增測試檔案。◝( •ω• )◟ e2e\components\wrapper-physics.spec.ts import { test,...
這個章節運行測試的方式稍微不同,由於 babylon.js 套件較為龐大,如果在 dev 模式下運行第一次開啟頁面會等很久,導致測試一直超時。 所以這裡我們改成...
第一步老樣子就是來新增測試檔案。◝( •ω• )◟ e2e\components\text-characters-transition.spec.ts impo...