Selenium WebDriver 架構:組件、功能和限制
已發表: 2020-12-17測試系統是一項具有挑戰性的任務,沒有什麼能像工具那樣自動化。 自動化測試人員想到的一種工具是 Selenium。 如果您渴望學習使用Selenium WebDriver的自動化測試技能,那麼您來對地方了。 讓我們開始吧。
目錄
什麼是硒?
Selenium 是一個開源的自動化測試工具。 該工具僅測試基於 Web 的應用程序,並與多種瀏覽器和操作系統兼容。
Selenium 主要有三個版本:
- 硒 RC
- 硒 IDE
- 硒網格
所有這些版本都是在 2007 年發布的。
Selenium 網絡驅動程序
直到 2011 年,Selenium RC 才被廣泛使用。 2011 年年中,Selenium 發布了一個新版本,WebDriver 2.0。 這不是對 RC 的升級,而是完全不同的工具。 不同之處在於 Selenium WebDriver 2.0 有自己的命令。 最新的Selenium WebDriver版本是 3.14。
Selenium WebDriver 能夠製作動態腳本。
Selenium WebDriver Architecture 有五個組件:
- 語言綁定或 Selenium 客戶端庫:這些是 Jar 文件,這是用於編寫 Selenium 框架的語言。 Selenium 的腳本是用 Java、C#、Ruby、Python 和 Perl 編寫的。
- Selenium 應用程序編程接口 (API): API 提供了任何軟件語言都遵循的一組規則和規範。 還需要與其他軟件程序進行通信。 簡而言之,API 充當軟件程序和交流通信渠道之間的接口。
- Remote WebDriver:是WebDriver接口的實現類。 測試腳本開發人員使用遠程計算機上的類通過 WebDriver 服務器執行測試腳本。
- JavaScript Object Notation (JSON) 有線協議: JSON 是一種輕量級的數據可交換格式,用於促進數據的交換。 它在網絡上的客戶端和服務器之間傳輸數據。 JSON 文件具有 .json 擴展名。 JSON 有線協議以 JSON 格式發送數據。 然後,服務器解析數據並執行。 執行後,服務器給出響應,並以 JSON 格式發送回客戶端。
- WebDriver: WebDriver 是自動化 Web 應用程序並驗證它們是否按預期工作的工具。
Selenium WebDriver 架構
我們現在將關注Selenium WebDriver 架構。 Selenium WebDriver API 促進了瀏覽器和瀏覽器驅動程序之間的交互。 該架構包括以下四層:
- Selenium 客戶端庫
- JSON 有線協議
- 瀏覽器驅動程序
- 瀏覽器
Selenium WebDriver 如何在內部工作?
Selenium WebDriver的代碼是在 Eclipse 集成開發環境 (IDE) 中編寫的。 它使用任何一種 Selenium 客戶端庫,例如 Java。

腳本準備好後,單擊運行以執行程序。 基於上述腳本,Chrome 瀏覽器將啟動並導航到 SeleniumHQ 網站。
對 Selenium WebDriver 的內部架構使用以下通用步驟:
1. 單擊運行。
Selenium 客戶端庫與 Selenium API 通信。
2. Selenium API 將語言命令從關卡綁定發送到瀏覽器驅動程序。
通信是通過 JSON 有線協議完成的。
3. Selenium API 將請求發送到瀏覽器驅動程序。
瀏覽器驅動程序使用 HTTP 服務器來獲取 HTTP 請求。
4. HTTP 服務器過濾掉所有需要執行的命令。
Selenium 腳本中的命令在瀏覽器上執行。
5. HTTP 服務器將響應發送給自動化測試腳本。
Selenium WebDriver 的技術規範
- 操作系統 (OS) – Windows、Solaris、Linux 和 Mac OS
- 支持的瀏覽器 – Internet Explorer、Google Chrome 12.0.712.0 及更高版本、Safari、Opera 11.5 及更高版本、Mozilla Firefox、Internet Explorer、HtmlUnit 2.9、Android 和 iOS
Selenium WebDriver 的最佳功能
- 多瀏覽器支持——支持幾乎所有瀏覽器。
- 多語言支持——支持大多數常用的編程語言。
- 速度——與 Selenium Suite 的其他工具相比,Selenium WebDriver 更快。
- 簡單命令——常用命令在 Selenium WebDriver 中很容易使用和實現。 例如,要在 Selenium WebDriver 中啟動瀏覽器,請執行以下命令:
- WebDriver driver = new FirefoxDriver(); (火狐瀏覽器)
- WebDriver driver = new ChromeDriver(); (鉻瀏覽器)
- WebDriver driver = new InternetExplorerDriver(); (Internet Explorer 瀏覽器)
- 方法和類——Selenium WebDriver 有多種解決方案來解決自動化測試中的潛在挑戰。
閱讀: Selenium 項目的想法和主題

Selenium WebDriver 的限制
- Selenium WebDriver不會自動支持新的瀏覽器
由於 WebDriver 在操作系統級別上運行,因此每個瀏覽器都以不同的方式與操作系統進行通信。 因此,對於新的瀏覽器,與操作系統的通信可能會有所不同,從而導致兼容性問題。 您必須為您的Selenium WebDriver團隊提供一些時間來使新瀏覽器與Selenium WebDriver兼容。
- Selenium WebDriver沒有內置命令來自動生成“測試結果”文件
您必須依賴集成開發環境 (IDE) 的輸出窗口。 您也可以使用您喜歡的語言自行設計,並將其存儲為 HTML 文件或文本。
另請閱讀:印度的硒開發人員薪水
報名參加世界頂尖大學的軟件工程課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
最後的想法
- Selenium WebDriver是一個在不同瀏覽器上測試 Web 應用程序的工具。
- 它使用不同的編程語言。
- Selenium WebDriver是 Selenium RC 的升級版,因為它的架構更簡單。
- Selenium WebDriver有一個簡潔的 API。
如果您有興趣了解有關全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,提供 500 多個小時的嚴格培訓、9 個以上的項目,和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

