Selenium工具套件


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

  • Selenium整合開發環境(IDE)
  • Selenium遠端控制器(現已棄用)
  • webdriver
  • Selenium Grid

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 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控制在網路的各個節點上執行測試指令碼。