概述
Selenium是一個開源自動化測試套件,适用于跨浏覽器和平台的Web應用程式。 它是一組軟體工具,每種工具都有不同的方法來支援測試自動化。
Selenium3.*的元件如下:
- Selenium IDE(內建開發環境 Integrated Development Environment)
- Selenium WebDriver
- Selenium Grid
Selenium3.停止直接使用Selenium RC。 Selenium Core已從最新版本的Selenium 3.中完全删除。
官網:
http://www.seleniumhq.org/Selenium開源,基于Apache 2.0 License。github:
https://github.com/SeleniumHQ/seleniumSelenium IDE
Selenium IDE的介紹請參考
https://www.jianshu.com/p/2259f4a8d4c4,實際上Katalon Recorder更好用。
- python測試開發項目實戰-目錄 https://china-testing.github.io/practices.html
- python工具書籍下載下傳-持續更新 https://china-testing.github.io/python_books.html
- python 3.7極速入門教程 - 目錄 https://china-testing.github.io/python3_quick.html
Selenium WebDriver是浏覽器自動操作的程式設計接口,更好地支援動态網頁。
- 支援很多浏覽器,如Chrome,IE,Edge,Firefox,Opera,Safar。
- 支援很多程式設計語言,如Java,C#,Ruby,Python,JavaScript(Node)
Selenium WebDriver有兩種系統配置。
- 隻有Selenium Client
安裝請自行搞定。
快速入門示例:

執行結果:
Selenium用戶端和浏覽器驅動程式使用JsonWireProtocol通過HTTP方法互相通信。 當我們執行如上所述的自動操作的代碼時,Selenium Client在内部使用JsonWireProtocol與浏覽器驅動程式互動并執行浏覽器操作。
在JsonWireProtocol網站上,我們可以檢查指令是否自動運作。
https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol- Selenium Client + Selenium Server
主要适用于PHP等非官方支援的語言及Selenium Grid。
參考資料
- 讨論釘釘群 21745728
- 本文最新版本位址
- 本文涉及的python測試開發庫 謝謝點贊!
- 本文相關海量書籍下載下傳
- selenium 書籍下載下傳: https://china-testing.github.io/selnium_books.html
Selenium Grid允許我們在不同的機器上并行運作不同浏覽器的測試。也就是說,針對運作不同浏覽器和作業系統的不同計算機同時運作多個測試。 Selenium Grid與Selenium WebDriver一起使用。
Selenium官方網站有關于Selenium Grid的詳細解釋。
http://www.seleniumhq.org/docs/07_selenium_grid.jspSelenium Grid由Hub和Node組成。在下圖中,Node由三台機器(Linux,Windows10,macOS)組成,每個節點可以使用兩個浏覽器。
Hub知道Node的資訊,當來自User Code的執行請求到來時,Hub向相應的Node發出執行請求,并在請求的Node上執行自動操作。
由于Selenium Grid支援并行執行,當Hub同時從使用者代碼接收多個執行請求時,Hub同時向相應的節點發出多個執行請求。
Selenium Grid的執行,我們在後面有空會介紹。