Selenium RC 和 WebDriver 之間有什麼關係?
Selenium RC 和 Selenium WebDriver 之間存在關係。在引入 Selenium WebDriver 之前,Selenium RC 被廣泛使用。
這兩個工具都支援在多個瀏覽器中執行自動化測試。此外,可以使用多種程式語言來實現測試用例。但是,它們之間也存在以下差異:
功能 | Selenium RC | Selenium WebDriver |
---|---|---|
伺服器 | 需要伺服器來觸發測試執行。 | 無需伺服器來觸發測試執行。 |
面向物件 | 對面向物件概念的支援不多。 | 大多數測試基於面向物件概念。 |
動態定位器 | 無法識別具有動態定位器的元素。 | 能夠識別具有動態定位器的元素。 |
警報 | 不支援警報。 | 支援警報。 |
滑鼠操作 | 不支援滑鼠操作。 | 支援滑鼠操作。 |
下拉選單 | 不支援處理下拉選單。 | 支援處理下拉選單。 |
iPhone/Android | 不支援 iPhone/Android 測試。 | 支援 iPhone/Android 測試 |
監聽器 | 不支援監聽器。 | 支援監聽器。 |
效能 | 它不直接與瀏覽器通訊,因此執行速度較慢。 | 執行速度快,因為它直接與瀏覽器通訊。 |
架構 | 基於 JavaScript。 | 不基於 JavaScript。 |
XPath | 提供絕對 XPath。 | 提供絕對和相對 XPath。 |
導航 | 不支援導航。 | 支援導航。 |
無頭執行 | 不支援無頭執行。 | 支援無頭執行。 |
Selenium Core | 伺服器將 Selenium Core(一個 JavaScript 程式)注入瀏覽器。Selenium Core 從 RC 伺服器接收命令。Selenium Core 使用 JavaScript 執行命令。然後,JavaScript 命令向瀏覽器提供指令。最後,瀏覽器執行 Selenium Core 提供的指令,並將完整的執行狀態傳送到伺服器。最終的執行結果由使用者接收。 | 沒有 Selenium Core。直接與瀏覽器通訊。瀏覽器執行測試生成的指令。 |
報告生成 | 能夠生成 HTML 測試報告。 | 無法使用其內建功能生成 HTML 測試報告。 |
API | API 複雜且冗餘。 | API 使用者友好且簡單。 |
社群支援 | 社群支援有限。 | 擁有龐大且廣泛的社群支援。 |
廣告