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

與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瀏覽器,因爲它需要真正的瀏覽器才能使用。