上一篇運用 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 內的測試:...
上一篇在認識 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 支援多語言,到底要用哪個語言來編寫測...
去年,首次踏進軟體業,面對陌生的領域,怎麼也沒想到,最後會拿起 Playwright 之劍,在 E2E 測試領域披荊斬棘。 這是怎麼發生的呢?一切都還得從公司的...
昨天提到了許多測試類型,今天要分別對這些測試類型來做簡單的介紹~ Unit Testing Unit test就如同他的名字,是以一個軟體中最小可測試的單位(u...
本章節「GitLab CI/CD」概要 Day 24: GitLab CI/CD 基本概念與工作流程Day 25: GitLab Runners 配置與使用Da...
在我們開發 weather_dag 之後,我們介紹了如何透過 View 以及警報來監控 DAG 執行的狀況。在開發之後其實還有一件非常重要的事,那就是測試,對於...
前言 今天來說說從工程師轉換成測試人員後的轉變。 心得 在這段擔任測試人員,有一些小小心得。先說結論,經過這段時間後,對於寫程式更有不一樣的見解。 在這之前,寫...
這篇來講一下在測試的時候遇到的問題,主要是 package 的 import issue 一般來說,我們開發的 dag 都會放在 project 下的 /dag...
介紹 「三星遠端測試實驗室」(Samsung Remote Test Lab)計劃,開發人員可透過虛擬化和遠端操控,輕鬆於數千台三星Galaxy 裝置上測試應用...