Selenium WebDriver Vs Selenium RC比較(差別)


Selenium RC有很多限制,最終導致了Selenium WebDriver的發展。檢視Selenium RC和Selenium WebDriver之間的主要區別:

1. 架構

Selenium RC的體系結構很複雜,因為它使用中間RC Server與瀏覽器進行通訊。 RC Server最初在執行測試指令碼之前安裝,並充當Selenium命令和瀏覽器之間的中介。
當在Selenium RC中執行測試指令碼時,將在內部執行以下操作。

  • 伺服器將稱為Selenium Core的JavaScript程式注入瀏覽器。
  • 隨後,Selenium Core將開始從RC Server接收指令(Selenium命令)。
  • 收到所有指令後,Selenium Core將作為JavaScript命令執行它們。
  • 這些JavaScript命令充當瀏覽器的指令。
  • 瀏覽器將執行Selenium Core提供的所有指令,並將總體摘要返回給伺服器。 此總體摘要充當最終結果,顯示在使用者螢幕上。

與Selenium RC相比,Selenium WebDriver的架構更簡單。
瀏覽器直接從OS(作業系統)級別控制。 在WebDriver上執行測試指令碼的基本要求是:

  • IDE(整合開發環境),支援任何受支援的程式設計語言,如Java,C#等。
  • 用於執行測試指令碼生成的指令的瀏覽器。

2.速度

Selenium WebDriver比Selenium RC執行速度更快,因為它可以直接與瀏覽器互動,而無需使用任何外部代理伺服器。 另一方面,Selenium RC使用中間RC伺服器與瀏覽器進行通訊。

在Selenium RC中執行測試指令碼比WebDriver需要更多時間,因為它使用JavaScript命令作為瀏覽器的指令。

3. 物件導向

Selenium WebDriver純粹是物件導向的API,而Selenium RC則是物件導向的API。
WebDriver完全基於物件導向的程式設計語言,如Java,C#等。

4. 測試移動應用程式

Selenium WebDriver支援iOS(iOS,Windows Mobile和Android)等移動應用程式的OS(作業系統)。 另一方面,Selenium RC不支援移動應用程式的測試。

5.瀏覽器支援

Selenium WebDriver還支援無頭HTMLUnit瀏覽器(Invisible Browser)。

注意:HTMLUnit是一個不可見的瀏覽器,它有助於更快地執行測試,因為它沒有時間等待頁面元素載入。

Selenium RC不支援無頭HTMLUnit瀏覽器,因為它需要真正的瀏覽器才能使用。