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