? ?playwright是微軟開源的一款web ui自動化工具,該工具有很多亮點,解決以前困擾web UI自動化測試的很多難點。這篇博客將介紹playwright主要特點。
playwright支持錄制減少了編寫成本
? 如果要使用playwright的錄制功能,有兩種途徑,途徑一是通過vscode,在vscode中安裝playwright插件,插件中軟件Record new即可開啟錄制模式,一邊操作被測系統,一邊會自動生成代碼。途徑二是通過命令“npx playwright codegen”。 通過錄制方式可以提高編寫代碼效率,當然有時候錄制過程中會卡頓,不繼續生產代碼,這個時候需要重新開啟錄制。當然現在的IDE功能如果安裝了AI code插件,借助AI code插件也能極大提高編寫UI自動化測試效率。
playwright inspector提高調試效率
? 使用命令“npx playwright test --ui”即可開啟UI 運行模式,UI模式下可以查看錯誤原因以及發生錯誤的具體頁面。另外,如果在vs code上運行test case,如果某個地方錯誤,playwright也會顯示詳細的錯誤信息,如下圖所示。
?除了UI mode外,playwright還支持debug,npx playwright test --debug即可開啟調試模式,debug模式支持逐行運行代碼,方便快速定位錯誤原因。
多種方式讓測試更穩定
? UI自動化測試,測試的穩定性非常重要,測試穩定性直接影響UI自動化測試維護成本。playwright同樣內置了自動等待,大大提供了測試穩定性,另外,playwright還支持自動重試,可以在配置文件中設置retry次數,當某個case失敗后,會自動進行retry,降低維護成本。
playwright vs cypress
? ?cypress也是一款非常優秀的web UI自動化測試工具,cypress發布時間更早,在18年cypress發布一段時間后,筆者就將項目的web ui自動化工具替換成cypress,替換后,大大降低了web ui自動化測試維護成本。如果是今天,當我們需要web ui自動化工具時,可能會更偏向于playwright,下面是兩個工具的對比。
? playwright和cypress進行對比,playwright還是有一定優勢的,一個是天然與IDE工具集成,編寫調試成本都會降低不少,另外playwright支持不同的語言,適配性更強。
更多編寫的具體細節可看官網,因為初始化code以及編寫都非常簡單,這里不再重復說嘛。