天天看點

[python作業AI畢業設計部落格]selenium工具python快速入門1簡介

概述

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/selenium

Selenium IDE

Selenium IDE的介紹請參考 

https://www.jianshu.com/p/2259f4a8d4c4

,實際上Katalon Recorder更好用。

Selenium WebDriver是浏覽器自動操作的程式設計接口,更好地支援動态網頁。

  • 支援很多浏覽器,如Chrome,IE,Edge,Firefox,Opera,Safar。
  • 支援很多程式設計語言,如Java,C#,Ruby,Python,JavaScript(Node)

Selenium WebDriver有兩種系統配置。

  • 隻有Selenium Client

安裝請自行搞定。

快速入門示例:

[python作業AI畢業設計部落格]selenium工具python快速入門1簡介

執行結果:

Selenium用戶端和浏覽器驅動程式使用JsonWireProtocol通過HTTP方法互相通信。 當我們執行如上所述的自動操作的代碼時,Selenium Client在内部使用JsonWireProtocol與浏覽器驅動程式互動并執行浏覽器操作。

在JsonWireProtocol網站上,我們可以檢查指令是否自動運作。

https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol
  • Selenium Client + Selenium Server

主要适用于PHP等非官方支援的語言及Selenium Grid。

參考資料

Selenium Grid允許我們在不同的機器上并行運作不同浏覽器的測試。也就是說,針對運作不同浏覽器和作業系統的不同計算機同時運作多個測試。 Selenium Grid與Selenium WebDriver一起使用。

Selenium官方網站有關于Selenium Grid的詳細解釋。

http://www.seleniumhq.org/docs/07_selenium_grid.jsp

Selenium Grid由Hub和Node組成。在下圖中,Node由三台機器(Linux,Windows10,macOS)組成,每個節點可以使用兩個浏覽器。

Hub知道Node的資訊,當來自User Code的執行請求到來時,H​​ub向相應的Node發出執行請求,并在請求的Node上執行自動操作。

由于Selenium Grid支援并行執行,當Hub同時從使用者代碼接收多個執行請求時,Hub同時向相應的節點發出多個執行請求。

Selenium Grid的執行,我們在後面有空會介紹。

繼續閱讀