Selenium工具套件

Selenium不僅僅是一個工具,而是一套軟件,每個軟件都有不同的方法來支持自動化測試。 它由四個主要組成部分組成,包括:

  • Selenium集成開發環境(IDE)
  • Selenium遠程控制器(現已棄用)
  • webdriver
  • Selenium Grid

Selenium工具套件

1. Selenium集成開發環境(IDE)

Selenium IDE實現爲Firefox擴展,在測試腳本上提供記錄和回放功能。 它允許測試人員以HTML,Java,Ruby,RSpec,Python, C# ,JUnit和TestNG等多種語言導出錄製的腳本。 可以在Selenium RC或Webdriver中使用這些導出的腳本。

Selenium IDE的範圍有限,生成的測試腳本不是非常健壯和可移植。

2. Selenium遠程控制器

Selenium RC(由selenium正式棄用)允許測試人員使用任何支持的編程語言編寫自動化Web應用程序UI測試。 它還涉及一個HTTP代理服務器,它使瀏覽器能夠相信正在測試的Web應用程序來自代理服務器提供的域。

Selenium RC有兩個組件。

  • Selenium RC Server(充當Web請求的HTTP代理)。
  • Selenium RC Client(包含編程語言代碼的庫)。

下圖給出了Selenium RC的架構表示。
Selenium工具套件

Selenium RC在連續集成系統下測試複雜的基於AJAX的Web用戶界面非常有效。

3. Selenium WebDriver

Selenium WebDriver(Selenium 2)是Selenium RC的繼承者,也是Selenium Suite最重要的組件。 SeleniumWebDriver提供了一個編程接口來創建和執行測試用例。 編寫測試腳本是爲了識別網頁上的Web元素,然後對這些元素執行所需的操作。

與Selenium RC相比,Selenium WebDriver執行速度更快,因爲它可以直接調用Web瀏覽器。 另一方面,RC需要RC服務器與Web瀏覽器進行交互。

因爲,WebDriver直接調用不同瀏覽器的方法,因此每個瀏覽器都有單獨的驅動程序。 一些最廣泛使用的Web驅動程序包括:

  • Mozilla Firefox驅動程序(Gecko驅動程序)
  • 谷歌Chrome驅動程序
  • Internet Explorer驅動程序
  • Opera驅動程序
  • Safari驅動程序
  • HTML單元驅動程序(一個特殊的無頭驅動程序)

注意:Selenium版本2將Selenium RC和Selenium WebDriver的最佳功能合併到Selenium WebDriver中,最新發布的Selenium 3具有新增功能和功能。

4. Selenium Grid

Selenium Grid也是Selenium Suite的一個重要組件,它允許在不同的機器上並行運行不同瀏覽器的測試。 簡單來說,可以在運行不同瀏覽器和操作系統的不同機器上同時運行測試。

Selenium Grid遵循Hub-Node架構來實現測試腳本的並行執行。Hub被視爲網絡的主設備,另一個將是節點。 Hub控制在網絡的各個節點上執行測試腳本。