發行說明
版本 1.47
Network 頁籤改進
追蹤檢視器中的 Network 分頁有幾個不錯的改進:
- 按資產類型和 URL 過濾
- 更好地顯示查詢字串參數
- 字體資產預覽
雜項
mcr.microsoft.com/playwright-java:v1.47.0
現在提供基於 Ubuntu 24.04 Noble 的 Playwright 映像。要使用基於 22.02 jammy 的映像,請改用mcr.microsoft.com/playwright-java:v1.47.0-jammy
。- 現在可以通過將
cert
和key
作為位元組陣列傳遞,而不是文件路徑,從記憶體中傳遞 TLS 客戶端證書。 - Locator.selectOption() 中的
noWaitAfter
已被棄用。 - 我們已經看到 WebGL 在 GitHub Actions
macos-13
上的 Webkit 表現不正常的報告。我們建議將 GitHub Actions 升級到macos-14
。
瀏覽器版本
- Chromium 129.0.6668.29
- Mozilla Firefox 130.0
- WebKit 18.0
此版本也針對以下穩定頻道進行了測試:
- Google Chrome 128
- Microsoft Edge 128
版本 1.46
TLS Client Certificates
Playwright 現在允許提供客戶端憑證,以便伺服器可以驗證它們,如 TLS 客戶端驗證所指定的。
您可以將客戶端證書作為 Browser.newContext() 和 APIRequest.newContext() 的參數 。以下程式碼片段為 https://example.com
設定客戶端證書:
BrowserContext context = browser.newContext(new Browser.NewContextOptions()
.setClientCertificates(asList(new ClientCertificate("https://example.com")
.setCertPath(Paths.get("client-certificates/cert.pem"))
.setKeyPath(Paths.get("client-certificates/key.pem")))));
追蹤檢視器更新
- 現在在附件窗格中內嵌顯示文字附件的內容。
- 新增設定以顯示/隱藏路由操作,如 Route.resume()。
- 請求方法和狀態顯示在網路詳細資訊標籤中。
- 新按鈕可將來源檔案位置複製到剪貼簿。
- Metadata 窗格現在顯示
baseURL
。
雜項
- 新的
maxRetries
選項在 APIRequestContext.fetch() 中,當ECONNRESET
網路錯誤時會重試。
瀏覽器版本
- Chromium 128.0.6613.18
- Mozilla Firefox 128.0
- WebKit 18.0
此版本也針對以下穩定頻道進行了測試:
- Google Chrome 127
- Microsoft Edge 127
版本 1.45
時鐘
利用新的 Clock API 允許在測試中操作和控制時間,以驗證與時間相關的行為。此 API 涵蓋許多常見情境,包括:
- 使用預定義時間進行測試;
- 保持一致的時間和計時器;
- 監控不活動狀態;
- 手動計時。
// Initialize clock with some time before the test time and let the page load
// naturally. `Date.now` will progress as the timers fire.
page.clock().install(new Clock.InstallOptions().setTime("2024-02-02T08:00:00"));
page.navigate("http://localhost:3333");
Locator locator = page.getByTestId("current-time");
// Pretend that the user closed the laptop lid and opened it again at 10am.
// Pause the time once reached that point.
page.clock().pauseAt("2024-02-02T10:00:00");
// Assert the page state.
assertThat(locator).hasText("2/2/2024, 10:00:00 AM");
// Close the laptop lid again and open it at 10:30am.
page.clock().fastForward("30:00");
assertThat(locator).hasText("2/2/2024, 10:30:00 AM");
請參閱時鐘指南以獲取更多資訊。
雜項
-
方法 Locator.setInputFiles() 現在支援上傳
<input type=file webkitdirectory>
元素的目錄。page.getByLabel("Upload directory").setInputFiles(Paths.get("mydir"));
-
多個方法如 Locator.click() 或 Locator.press() 現在支援
ControlOrMeta
修飾鍵。此鍵在 macOS 上對應Meta
,在 Windows 和 Linux 上對應Control
。// 按下常見的鍵盤快捷鍵 Control+S 或 Meta+S 以觸發 "Save" 操作。
page.keyboard.press("ControlOrMeta+S"); -
新屬性
httpCredentials.send
在 APIRequest.newContext() 中允許選擇總是發送Authorization
標頭或僅在回應401 Unauthorized
時發送。 -
Playwright 現在支援 Ubuntu 24.04 上的 Chromium、Firefox 和 WebKit。
-
v1.45 是最後一個針對 macOS 12 Monterey 獲得 WebKit 更新的版本。請更新 macOS 以繼續使用最新的 WebKit。
瀏覽器版本
- Chromium 127.0.6533.5
- Mozilla Firefox 127.0
- WebKit 17.4
此版本也針對以下穩定頻道進行了測試:
- Google Chrome 126
- Microsoft Edge 126