HTTP 響應代碼
對於 Selenium RC 中的某些瀏覽器配置,Selenium 充當瀏覽器和自動化網站之間的代理。 這意味著所有瀏覽器流量都通過 Selenium,可以被捕獲或操縱。 captureNetworkTraffic()
方法旨在捕獲瀏覽器和自動化網站之間的所有網路流量,包括 HTTP 響應代碼。
Selenium WebDriver 是一種完全不同的瀏覽器自動化方法,它更傾向於像使用者一樣操作。 這體現在您使用 WebDriver 編寫測試的方式中。 在自動化功能測試中,檢查狀態碼並不是測試失敗中特別重要的細節; 在它之前的步驟更重要。
瀏覽器將始終顯示 HTTP 狀態碼,例如想像一下 404 或 500 錯誤頁面。 當您遇到這些錯誤頁面之一時,「快速失敗」的一種簡單方法是在每次頁面載入後檢查頁面標題或可靠點的內容(例如 <h1>
標籤)。 如果您正在使用頁面物件模型,您可以將此檢查包含在您的類別建構子或預期頁面載入的類似點中。 有時,HTTP 代碼甚至可能顯示在瀏覽器的錯誤頁面中,您可以使用 WebDriver 讀取此代碼並改進您的偵錯輸出。
檢查網頁本身符合 WebDriver 代表和斷言使用者網站視圖的理想實務。
如果您堅持要捕獲 HTTP 狀態碼,一種進階的解決方案是通過使用代理來複製 Selenium RC 的行為。 WebDriver API 提供了為瀏覽器設定代理的能力,並且有許多代理可以通過程式設計方式讓您操縱發送到和接收自 Web 伺服器的請求內容。 使用代理可以讓您決定要如何響應重定向響應代碼。 此外,並非每個瀏覽器都將響應代碼提供給 WebDriver,因此選擇使用代理可讓您擁有適用於每個瀏覽器的解決方案。