Selenium WebDriver架構

Selenium WebDriver API提供編程語言和瀏覽器之間的通信工具。下圖顯示了Selenium WebDriver的體系結構表示。

Selenium WebDriver架構

WebDriver架構有四個基本組件:

  • Selenium語言綁定
  • JSON有線協議
  • 瀏覽器驅動
  • 真正的瀏覽器

以下是上述組件的詳細描述。

1. Selenium語言綁定/Selenium客戶端庫

Selenium開發人員已經構建了語言綁定/Selenium客戶端庫以支持多種語言。 例如,如果要在java中使用瀏覽器驅動程序,請使用java綁定。 所有受支持的語言綁定都可以從Selenium的官方網站( https://www.seleniumhq.org/download/#client-drivers )下載。

2. JSON有線協議

JSON(JavaScript Object Notation)是一種用於在Web上交換數據的開放標準。 它支持對象和數組等數據結構。 因此,從JSON編寫和讀取數據很容易。 要了解有關JSON的更多信息,請訪問 - https://www.yiibai.com/json/

JSON Wire Protocol提供了一種在服務器和客戶端之間傳輸數據的傳輸機制。 JSON Wire Protocol是各種REST Web服務的行業標準。

3. 瀏覽器驅動

Selenium使用特定於每個瀏覽器的驅動程序,以便與瀏覽器建立安全連接,而不會泄露瀏覽器功能的內部邏輯。 瀏覽器驅動程序也特定於用於自動化的語言,如Java,C#等。
當使用WebDriver執行測試腳本時,將在內部執行以下操作。

  • 生成HTTP請求並將其發送到每個Selenium命令的瀏覽器驅動程序。
  • 驅動程序通過HTTP服務器接收HTTP請求。
  • HTTP Server決定執行在瀏覽器上執行的指令的所有步驟。
  • 執行狀態將發送回HTTP Server,隨後將其發送回自動化腳本。

4. 瀏覽器

Selenium WebDriver支持的瀏覽器:

  • Internet Explorer
  • Mozilla Firefox
  • Google Chrome
  • Safari