1. 程式人生 > 實用技巧 >Selenium WebDriver簡介

Selenium WebDriver簡介

Selenium WebDriver簡介

Selenium WebDriver簡介

是Selenium工具箱中功能最強大且最受歡迎的工具之一。WebDriver是Selenium RC的擴充套件版本,具有許多優點,並解決了其許多限制。與Selenium IDE不同,WebDriver將其支援擴充套件到許多最新的瀏覽器和平臺。與Selenium RC不同,WebDriver也不要求在執行測試指令碼之前先啟動Selenium伺服器。

與WebDriver API聚合在一起的Selenium RC被稱為Selenium 2.0。開發Selenium是為了支援動態網頁和Ajax呼叫。它還支援各種驅動程式,以進行基於Web的移動測試。

WebDriver架構

WebDriver是基於Web的測試工具,與Selenium RC有細微的差別。由於該工具建立在為每個Web瀏覽器建立一個隔離客戶端的基礎上;正如我們在第一篇教程中所討論的那樣,不需要繁重的JavaScript工作。

WebDriver直接呼叫Web瀏覽器,並以這種方式執行整個測試指令碼。WebDriver使用瀏覽器的支援和功能來實現自動化.與Selenium RC不同,Selenium WebDriver基本上不需要在啟動測試指令碼執行之前啟動Selenium Server。如果使用者希望在瀏覽器所在的同一臺計算機上執行測試,則使用者可以利用該好處,並且可以(也可以不需要)Selenium Server。

WebDriver需要Selenium Server的特殊情況:

  • 當用戶希望在遠端計算機上執行測試指令碼時。

  • 當用戶希望在HtmlUnit驅動程式上執行測試指令碼時。

  • 當用戶希望在多個平臺上執行測試指令碼時。

WebDriver是在OS層上工作的純面向物件的框架。它利用瀏覽器的本機相容性實現自動化,而無需使用任何外圍實體。隨著需求的增長,它已經獲得了廣泛的歡迎和使用者基礎,並且已經成為迄今為止使用最廣泛的開源自動化測試工具之一。

Selenium WebDriver的功能

瀏覽器相容性

WebDriver支援各種Web瀏覽器及其版本。除了與Selenium RC和Selenium IDE不同的某些獨特且罕見的瀏覽器(例如HtmlUnit瀏覽器)外,它還支援所有常規瀏覽器。

HtmlUnit瀏覽器執行測試指令碼的方式與其他瀏覽器類似,不同之處在於它以無頭模式(即無GUI模式)執行,並且使用者將無法檢視測試指令碼的執行情況。表示測試指令碼的執行在無頭模式下發生,因此執行速度滾動並加快了執行速度。

WebDriver還支援基於Web的移動測試。因此,它提供了AndroidDriver和IphoneDriver來支援基於Web的移動測試。

注意:WebDriver並不容易支援新的瀏覽器。

語言支援

Selenium IDE施加的一些限制是:

  • 不支援迭代和條件語句

  • 不支援迴圈

  • 不支援錯誤處理

  • 不支援測試指令碼依賴

上述障礙可以通過程式設計來解決。WebDriver方便使用者在不同的程式語言中進行選擇,並以指定的語言構建測試指令碼。

Selenium WebDriver支援的程式語言是:

  1. Java

  2. C#

  3. PHP

  4. Pearl

  5. Ruby

  6. Python

因此,使用者可以根據自己的能力選擇任何一種程式語言(只要WebDriver支援該語言),就可以開始構建測試指令碼。

速度

與Selenium套件的其他工具相比,WebDriver被證明是所有工具中最快的工具。通訊不會通過任何外部干預進行引導;而是該工具與任何使用者一樣直接與瀏覽器通訊。因此,WebDriver利用瀏覽器的本機相容性實現自動化。

Selenium套件中的其他工具(例如Selenium RC)不會直接與Web瀏覽器通訊。客戶端庫(測試指令碼以任何程式語言編寫)都與Selenium Remote Control伺服器通訊,而Remote Control與Selenium Core(JavaScript程式)通訊,後者又與Web瀏覽器通訊。因此,這種扭曲的通訊成為執行速度的障礙。

驅動程式,方法和類

WebDriver為自動化測試中的一些潛在挑戰提供了廣泛的解決方案。它可以幫助我們在動態查詢器的幫助下處理複雜型別的Web元素,例如複選框,下拉列表和警報。

隨著移動時代的到來,WebDriver API也已經成熟並引入了一些關鍵技術以進入這一領域。WebDriver使使用者可以執行基於Web的移動測試。它提供了兩個基本驅動程式來執行基於Web的移動測試。

  • AndriodDriver

  • Iphone驅動程式

而且,WebDriver API非常簡單。它不包含重複的命令。相反,Selenium RC體現了許多重言式命令。

你點的每個贊,我都認真當成了喜歡