Selenium 1 和 Selenium 2 之間有什麼區別?


Selenium 或稱為 RC(遠端控制)和 WebDriver 在許多方面都不同,但關鍵區別在於實現層,或者簡單地說,是它們的架構。

顧名思義,RC 是一個遠端控制,它透過獲取瀏覽器的遠端控制權,然後透過注入編寫的自定義指令碼來注入要測試的自動化程式碼。

WebDriver(稱為 Selenium 2)直接作用於瀏覽器,並使用瀏覽器內建功能來觸發測試人員編寫的自動化測試。WebDriver 是遠端控制的繼承者。

Selenium WebDriver 的架構如下:

Selenium 的這兩種變體的工作方式相同,都是透過遠端控制瀏覽器,該瀏覽器可以從其他地方呼叫。

Selenium 1Selenium 2
Selenium 1 = Selenium 遠端控制。Selenium 2 = Selenium 1 + WebDriver
依賴於核心庫,這些庫可以在任何支援 JavaScript 的瀏覽器上執行。它以原生方式執行 JavaScript,並且建立的測試用例可以在不同的瀏覽器上執行。
Selenium RC 伺服器充當 Selenium 命令和瀏覽器之間的中介。WebDriver 使用作業系統的原生功能直接與作業系統通訊。它為此通訊使用瀏覽器驅動程式。
在測試過程中,Selenium RC 將 JavaScript 程式(Selenium Core)注入瀏覽器。WebDriver 為文件物件模型 (DOM) 互動和瀏覽器控制提供了面向物件的 API。
它的工作原理是根據 JavaScript 命令指示使用者操作,但這並不強制使用者只能用 JavaScript 編寫自動化測試用例。它可以使用 Java、Ruby、C#、Perl、Python 等。它也使用多種程式語言,如 Perl、Ruby、Python、C#、Java、PHP、.Net 等。
如果涉及速度,由於 RC 伺服器的中介作用,它會稍微慢一些。它速度很快,因為它可以直接與瀏覽器通訊,而無需使用任何內部代理伺服器。
不支援移動應用程式測試。使用 AndroidDriver 和 iphoneDriver 進行移動自動化。
需要真實的瀏覽器才能工作。還支援無頭 HTMLUnit 瀏覽器,它可以更快地執行測試,因為它不需要等待頁面元素載入。
可以支援新的瀏覽器。無法支援新的瀏覽器。

更新於:2020年7月2日

1K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.