Playwright 1.63 支援多來源 HTTP 憑證:必須與代理驗證分離

Microsoft 於 2026 年 9 月 4 日發布 Playwright 1.63。瀏覽器情境的 httpCredentials 現在可接受陣列:首先符合請求來源的項目會被選取,沒有來源的項目可匹配任何請求。

瀏覽器請求經過彼此分離的區域代理閘道,前往全球網際網路中的驗證來源伺服器

這對跨多個 HTTP 驗證來源的獲准自動化很有價值;若同一內容還使用驗證代理,則更需要回歸測試。來源 HTTP 憑證與代理憑證處理不同挑戰、交給不同對端,不能放入同一憑證集區。

公開來源說明:Microsoft Playwright,《Playwright v1.63.0》,發布於 2026 年 9 月 4 日;Microsoft Playwright,Browser API 參考,複核於 2026 年 9 月 10 日。

更新內容

過去一個瀏覽器情境接收一個 httpCredentials 物件。1.63 也允許有序憑證陣列,每項可包含使用者名稱、密碼及精確來源。Playwright 使用第一個符合來源的項目;未指定來源的項目相當於廣泛後備。

此版本也讓 codegen 可針對 HTTP 驗證頁面錄製。便利性不會改變安全邊界:產生的程式碼與錄製產物在保存或分享前仍須檢查秘密。

它不表示:

  • 自動處理 HTML 登入表單;
  • Cookie 或 Bearer Token 會依來源選取;
  • 代理驗證已併入 httpCredentials
  • 401 與 407 可以互換;
  • 可把密碼寫入原始碼;
  • 無需檢查最終來源即可安全跟隨重新導向。

分開兩個驗證平面

Playwright 為不同對端提供不同設定:proxy 負責路由,並在需要時驗證代理服務;httpCredentials 處理目標來源發出的 HTTP 驗證。目標通常使用 401 與 WWW-Authenticate 挑戰,代理通常使用 407 與 Proxy-Authenticate 挑戰。

不要把網站憑證放入代理欄位,也不要把代理憑證放入來源項目。即使兩者都是使用者名稱與密碼,仍屬於不同信任區。

順序就是安全邏輯

官方說明明確採用「第一個匹配項」。因此陣列順序是設定邏輯,不是裝飾。

正式環境項目應聲明精確來源,包括協定、主機及必要連接埠。無來源項目應視為例外。若有界限的測試確實需要後備項,將其置於最後,限制可導覽目的地,並證明未核准目標無法觸發它。

部署前檢查最終解析設定,而不只檢查範本。環境覆寫可能改變順序、產生重複來源,或把精確來源替換成空值。

建立直連與代理矩陣

使用自有或獲准的受控來源,至少測試:來源 A 的直連對照、驗證代理搭配來源 A、驗證代理搭配來源 B、錯誤網站密碼、錯誤代理密碼、A 重新導向至 B、重新導向至無規則來源、必要的無來源後備、各種 send 策略的 API 請求情境,以及使用相同憑證陣列的一般瀏覽器導覽。

固定瀏覽器組建、路線、目標、方法、標頭與工作階段,每次只改變一個憑證維度。

使用請求標頭完整性測試確認請求設定檔一致。分享追蹤或 HAR 前,依照HAR 憑證去識別化指南處理。

保存可歸因證據

每次嘗試記錄:精確瀏覽器組建、內容設定檔、路線、是否預期代理驗證、來源規則編號、請求與最終來源、重新導向次數、狀態序列、挑戰類型、命中規則、本文摘要、斷言結果及耗時。

不得記錄使用者名稱、密碼、授權值、代理授權值、Cookie、權杖或客戶本文。規則編號已足以證明選取了哪個設定分支。

追蹤、截圖、影片與 HAR 在檢查前都應視為敏感資料。驗證對話框、標頭、位址與應用內容可能暴露比一般記錄更多資訊。

分層判斷故障

尚未到達來源便失敗

檢查路線、代理位址、代理憑證、通道、DNS、TLS 與 407。更換來源 HTTP 憑證無法修復代理層故障。

直連與代理皆回傳來源 401

檢查精確來源匹配、項目順序、網站憑證、驗證方案,以及目前是瀏覽器請求或 API 請求情境。這通常不指向代理。

直連成功但代理路線收到來源 401

先證明回應來自相同來源。比較最終位址、重新導向、本文摘要、標頭與應用路由。不同區域邊緣、快取挑戰或不同後端都可能造成差異。

重新導向命中錯誤規則

將其視為設定缺陷。重新導向後的目的地是另一來源,應獨立匹配。除非必要且有界限,否則移除廣泛後備。

API 請求與頁面導覽不同

Playwright 文件指出 send 控制僅用於相應 API 請求情境,不影響瀏覽器請求,必須分開測試。

升級驗收清單

  • 固定並記錄精確 Playwright 與瀏覽器組建。
  • 盤點全部需要 HTTP 驗證的目標來源。
  • 代理秘密只進入代理設定路徑。
  • 網站憑證採用精確來源匹配。
  • 驗證首項匹配並拒絕重複來源。
  • 無來源後備必須置於最後並說明理由。
  • 分開測試 401 與 407。
  • 測試跨來源重新導向及缺失規則。
  • 直連與代理採用相同目標輸入。
  • API 請求與瀏覽器導覽分開測試。
  • 將追蹤、HAR、截圖、影片、記錄與 CI 輸出去識別化。
  • 擴大升級前定義回復門檻。

常見問題

httpCredentials 能設定住宅代理帳號嗎?

不能。代理伺服器憑證應放在 Playwright 的代理設定;httpCredentials 用於目標來源的 HTTP 驗證。

是否應加入沒有來源的預設憑證?

通常不應。它可能匹配具體規則未涵蓋的請求。優先採用精確來源;必須使用時置於最後並限制可達目標。

一個瀏覽器情境能否為多個網站使用不同 Basic Auth?

這正是 1.63 的新能力。正式使用前必須驗證精確來源、順序、重新導向與失敗行為。

send 能讓瀏覽器導覽預先傳送憑證嗎?

官方參考指出該控制用於相應 API 請求情境,不影響瀏覽器請求,兩條路徑應分別測試。

合規說明

只對已獲授權的系統與帳號使用 HTTP 和代理憑證。不得利用代理或自動化繞過驗證、區域控制、速率限制、購買限制或反詐欺機制。秘密應保存在核准的秘密管理系統,儘量減少留存產物,並遵守隱私、合約、存取政策及區域法律。