網頁

搜尋此網誌

2013年6月4日 星期二

Selenium Browser Automation 瀏覽器自動化

Selenium (硒) 」是一套瀏覽器自動化 (browser automation) 的套件軟體,包含一系列工具程式 (suite of tools) ,最主要的目的是用來自動化測試 (testing) 網頁應用程式 (web application) ,或者利用自動化的功能建立網頁操作的管理工作。簡單來說,利用Selenium去幫我們操作瀏覽器,免除人為操作而達成自動化。

Selenium目前的版本是第2版,稱為「Selenium 2」,Selenium 的工具程式主要有4個部分,其中以 IDE 和 WebDriver 最為重要,各程式介紹如下:
  • Selenium IDE
    這是一個 Firefox 的附加元件,提供測試工作的錄製、編輯、執行與除錯等功能。
  • Selenium WebDriver
    這是一個用來操作瀏覽器的 API,對 Selenium 而言就像是瀏覽器的「驅動程式」,不同瀏覽器必須安裝不同的 WebDriver ,呼叫這個 API 的方式是安裝不同程式語言的程式庫,程式庫將直接對瀏覽器進行操作(直接呼叫瀏覽器的 API )。這是在第2版才加入的工具程式, Selenium WebDriver 又稱為「Selenium 2」。
  • Selenium Remote Control
    簡稱 Selenium RC ,也稱為「Selenium 1」,目前不建議 (deprecated) 使用。 Selenium RC 採用 Server-Client 架構的方式進行瀏覽器自動化,主要是利用瀏覽器內的 JavaScript 來達到自動化的操作。
  • Selenium Grid
    這是可以同時間執行多個 Selenium 的技術,由一個 Hub 和多個 Node 組成一個 Grid ,使用者透過 WebDriver 將測試工作送至 Hub ,而 Hub 將依據瀏覽器不同分派至特定 Node 執行,利用這種方式可以縮短總執行時間。
執行 Selenium 瀏覽器自動化必須在有桌面環境的系統下執行,例如 Windows 或 Ubuntu Desktop 的作業系統,因為 Selenium 會去真的啟動瀏覽器程序並控制它的動作,若要在 Ubuntu Server 上執行就會發生錯誤(沒有安裝瀏覽器)。

一般會建議使用 Windows 系統進行自動化測試,因為在 Windows 上可以執行 Internet Explorer (IE)、Chrome、Firefox、Safari 都不會有問題,適合進行 Web Application 的相容性(跨瀏覽器)測試,因為 IE 只能在 Windows 上執行!不然就是使用 Selenium RC Server ,遠端操作不同作業系統的瀏覽器。

###

沒有留言:

張貼留言

熱門文章