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並不侷限於測試,它還可以用於:

  • 應用程式監控:

    檢查應用程式是否正在執行。此活動對於理解和捕獲由於某些錯誤而關閉的應用程式至關重要。

更新於:2019年8月7日

4K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告