Selenium中的WebDriver是什麼?
它是一個web自動化框架,允許我們在各種瀏覽器上執行測試。它可以在多個作業系統上的多個瀏覽器上執行多個測試。WebDriver使得在Linux上編寫測試指令碼並在Windows上執行成為可能。WebDriver支援多種程式語言,例如Java、Python、Ruby、.Net、PHP來建立測試指令碼。
在Selenium2中,引入了WebDriver整合,旨在解決Selenium RC的一些限制。
- 引入的新功能:
它可以測試動態網站,其中頁面的內容會因滑鼠點選而改變。
透過WebDriver,移動自動化也是可行的。
WebDriver的另一個優點是它可以在HTMLUnit瀏覽器上使用(HTMLUnit瀏覽器是無頭瀏覽器,這意味著它們對使用者是不可見的,簡單來說,它們沒有GUI),因此在HTMLUnit瀏覽器上進行測試速度更快,因為這些瀏覽器節省了載入頁面元素所需的時間。這導致測試用例的執行時間更短。
瀏覽器廠商將提供他們自己的WebDriver實現,因此與瀏覽器緊密耦合,從而提供更好的測試體驗。現代瀏覽器如Edge、Safari都引入了其廠商提供的WebDriver。
- WebDriver是如何工作的:
WebDriver使用每個瀏覽器的原生自動化支援直接呼叫瀏覽器。它為此通訊使用瀏覽器驅動程式。
WebDriver為文件物件模型 (DOM) 互動和瀏覽器控制貢獻了其面向物件的API。
當執行任何自動化指令碼時,對於每個Selenium命令,都會建立一個HTTP請求併發送到瀏覽器驅動程式。瀏覽器驅動程式使用HTTP伺服器來獲取HTTP請求。此HTTP伺服器確定實現Selenium命令所需的步驟。在瀏覽器上執行的執行狀態將傳送回HTTP伺服器,然後HTTP伺服器將狀態傳送回自動化指令碼。
WebDriver的用途
自動化測試:
它透過使用Selenium命令模擬使用者在web應用程式上的操作來自動化web應用程式測試。它透過處理滑鼠和鍵盤事件來模擬真實操作。WebDriver使用作業系統的原生功能直接與作業系統通訊。它為此通訊使用瀏覽器驅動程式。
效能測試:
透過使用Selenium Grid,我們可以使用Selenium來測試我們的伺服器或應用程式可以處理的最大負載。簡而言之,Selenium在這裡可以用於負載測試、壓力測試。
迴歸測試:
最繁瑣的任務,但仍然非常重要且必要,迴歸測試。Selenium可以用於執行迴歸測試平臺。由於Selenium需要最少的人工干預,它提高了迴歸測試的速度,並更快地執行整個測試平臺。這減少了bug和錯誤的空間。
移動測試:
隨著世界轉向移動,我們可以使用Selenium來測試基於移動的應用程式。
驗收測試:
在大型組織中,團隊龐大,角色明確定義。需要一個工具來檢查每次構建後的應用程式。此測試並不詳盡,但會檢查基本的應用程式功能,例如登入等等。
除了測試之外,Selenium並不侷限於測試,它還可以用於:
應用程式監控:
檢查應用程式是否正在執行。此活動對於理解和捕獲由於某些錯誤而關閉的應用程式至關重要。