跳到主要內容

UI 模式

簡介

UI 模式讓您探索、執行和偵錯測試,並具有時間旅行體驗,以及監看模式。所有測試檔案都會顯示在測試側邊欄中,讓您可以展開每個檔案和描述區塊,以個別執行、檢視、監看和偵錯每個測試。依名稱專案(在您的 playwright.config 檔案中設定)、@tag通過失敗略過的執行狀態篩選測試。查看測試的完整追蹤,並在每個動作上來回懸停,以查看每個步驟期間發生的情況。您也可以彈出指定時刻的 DOM 快照到單獨的視窗中,以獲得更好的偵錯體驗。

開啟 UI 模式

若要開啟 UI 模式,請在終端機中執行下列命令

npx playwright test --ui

執行您的測試

啟動 UI 模式後,您會看到所有測試檔案的清單。您可以按一下側邊欄中的三角形圖示來執行所有測試。您也可以執行單個測試檔案、一組測試或單個測試,方法是將滑鼠懸停在名稱上,然後按一下其旁邊的三角形。

running tests in ui mode

篩選測試

依文字或 @tag 或通過、失敗或略過的測試篩選測試。您也可以依您的 playwright.config 檔案中設定的專案篩選。如果您使用專案相依性,請務必先執行設定測試,再執行相依於它們的測試。UI 模式不會考慮設定測試,因此您必須先手動執行它們。

filtering tests in ui mode

時間軸檢視

在追蹤的頂端,您可以看到測試的時間軸檢視,其中不同的顏色會醒目提示導航和動作。來回懸停以查看每個動作的影像快照。按兩下動作以查看該動作的時間範圍。您可以使用時間軸中的滑桿來增加選取的動作,這些動作將顯示在「動作」標籤中,並且所有主控台記錄和網路記錄都將篩選為僅顯示選取動作的記錄。

timeline view in ui mode

動作

在「動作」標籤中,您可以看到每個動作使用了哪個定位器,以及每個動作執行所需的時間。將滑鼠懸停在測試的每個動作上,並以視覺方式查看 DOM 快照中的變更。在時間中來回移動,然後按一下動作以檢查和偵錯。使用「之前」和「之後」標籤,以視覺方式查看動作之前和之後發生的情況。use before and after actions in ui mode

彈出並檢查 DOM

按一下 DOM 快照上方的彈出圖示,將 DOM 快照彈出到自己的視窗中,以獲得更好的偵錯體驗。從那裡您可以開啟瀏覽器開發人員工具並檢查 HTML、CSS、主控台等。返回 UI 模式並按一下另一個動作,然後彈出該動作,以輕鬆地並排比較這兩個動作或個別偵錯每個動作。

pop out dom snapshot in ui mode

選取定位器

按一下「選取定位器」按鈕,然後將滑鼠懸停在 DOM 快照上,以查看每個元素的定位器,這些元素會在您懸停時醒目提示。按一下元素以新增定位器遊樂場。您可以在遊樂場中修改定位器,並查看您修改的定位器是否與 DOM 快照中的任何定位器相符。對定位器感到滿意後,您可以使用複製按鈕複製定位器並將其貼到您的測試中。

pick locator in ui mode

來源

當您將滑鼠懸停在測試的每個動作上時,該動作的程式碼行會在來源面板中醒目提示。

showing source code of tests in ui mode

呼叫

「呼叫」標籤會顯示有關動作的資訊,例如所花費的時間、使用的定位器、是否處於嚴格模式以及使用的金鑰。

showing call tab in ui mode

記錄

查看測試的完整記錄,以更好地瞭解 Playwright 在幕後執行的操作,例如捲動到檢視畫面、等待元素可見、啟用和穩定,以及執行按一下、填寫、按下等動作。

showing log of tests in ui mode

錯誤

如果您的測試失敗,您會在「錯誤」標籤中看到每個測試的錯誤訊息。時間軸也會顯示一條紅線,醒目提示錯誤發生的位置。您也可以按一下「來源」標籤,以查看錯誤所在的原始碼行。

showing errors in ui mode

主控台

查看來自瀏覽器以及測試的主控台記錄。會顯示不同的圖示,以向您顯示主控台記錄是來自瀏覽器還是來自測試檔案。

showing console logs from tests in ui mode

網路

「網路」標籤會顯示測試期間發出的所有網路請求。您可以依不同的請求類型、狀態碼、方法、請求、內容類型、持續時間和大小排序。按一下請求以查看有關它的更多資訊,例如請求標頭、回應標頭、請求本文和回應本文。

showing network requests from tests in ui mode

附件

「附件」標籤可讓您探索附件。如果您正在執行視覺迴歸測試,您將能夠透過檢查影像差異、實際影像和預期影像來比較螢幕截圖。當您按一下預期影像時,您可以使用滑桿將一個影像滑到另一個影像上,以便您可以輕鬆地查看螢幕截圖中的差異。

ui mode with attachments

中繼資料

在「動作」標籤旁邊,您會找到「中繼資料」標籤,其中會顯示有關測試的更多資訊,例如瀏覽器、視口大小、測試持續時間等等。

metadata tab in ui mode

監看模式

在側邊欄中每個測試的名稱旁邊,您都會找到一個眼睛圖示。按一下圖示將啟動監看模式,當您對其進行變更時,它將重新執行測試。您可以同時監看多個測試,方法是按一下每個測試旁邊的眼睛圖示,或按一下側邊欄頂端的眼睛圖示來監看所有測試。如果您使用 VS Code,則可以透過按一下眼睛圖示旁邊的檔案圖示輕鬆開啟測試。這會在 VS Code 中開啟您的測試,並直接跳到您按一下的程式碼行。

watch mode in ui mode

Docker & GitHub Codespaces

對於 Docker 和 GitHub Codespaces 環境,您可以在瀏覽器中執行 UI 模式。為了使端點可從容器外部存取,它需要繫結到 0.0.0.0 介面

npx playwright test --ui-host=0.0.0.0

對於 GitHub Codespaces,連接埠會自動轉發,因此您可以按一下終端機中的連結,在瀏覽器中開啟 UI 模式。

若要使用靜態連接埠,您可以傳遞 --ui-port 旗標

npx playwright test --ui-port=8080 --ui-host=0.0.0.0
注意

請注意,當指定 --ui-host=0.0.0.0 旗標時,具有追蹤、密碼和機密的 UI 模式可從網路內的其他機器存取。對於 GitHub Codespaces,預設情況下連接埠只能從您的帳戶存取。