什麼是Selenium WebDriver?
Selenium WebDriver是一個允許自動化測試的框架。它允許跨不同瀏覽器進行測試。它可以在多個作業系統上的多個瀏覽器上執行多個測試。WebDriver使得在Linux上編寫測試指令碼並在Windows上執行成為可能。WebDriver支援多種程式語言,例如Java、Python、Ruby、.Net、PHP來建立測試指令碼。
Selenium WebDriver源於——
在Selenium2中,考慮了WebDriver的整合,該整合旨在解決Selenium RC的一些侷限性。
Selenium引入了以下新特性——
它可以測試動態網站,其中頁面的內容會因滑鼠點選而改變。
透過WebDriver,移動自動化也是可行的。
WebDriver的另一個優勢是它可以在HTMLUnit瀏覽器上使用(HTMLUnit瀏覽器是無頭瀏覽器,這意味著它們對使用者不可見,簡單來說,它們沒有GUI),因此在HTMLUnit瀏覽器上進行測試速度更快,因為這些瀏覽器節省了載入頁面元素所需的時間。這導致測試用例的執行時間更短。
瀏覽器廠商將提供他們自己的WebDriver實現,因此與瀏覽器緊密耦合,從而提供更好的測試體驗。現代瀏覽器,如Edge、Safari,都引入了其廠商提供的WebDriver。
讓我們看看Selenium WebDriver是如何工作的——
WebDriver使用每個瀏覽器的原生自動化支援直接呼叫瀏覽器。它為此通訊使用瀏覽器驅動程式。
WebDriver為文件物件模型 (DOM) 互動和瀏覽器控制貢獻了其面向物件的API。
當執行任何自動化指令碼時,對於每個Selenium命令,都會建立一個HTTP請求並將其傳送到瀏覽器的驅動程式。瀏覽器驅動程式使用HTTP伺服器來獲取HTTP請求。此HTTP伺服器確定實現Selenium命令所需的步驟。在瀏覽器上執行的執行狀態將傳送回HTTP伺服器,HTTP伺服器將狀態傳送回自動化指令碼。