什麼是 Selenium WebDriver 架構?
Selenium WebDriver 架構的簡化圖如下所示
現在讓我們瞭解 Selenium WebDriver 架構。Selenium WebDriver API 實現了瀏覽器和瀏覽器驅動程式之間的互動。此架構包含四個層,即 Selenium 客戶端庫、JSON Wire 協議、瀏覽器驅動程式和瀏覽器。
Selenium 客戶端庫包含 Java、Ruby、Python、C# 等語言。測試用例觸發後,整個 Selenium 程式碼將轉換為 JSON 格式。
JSON 代表 JavaScript 物件表示法。它承擔了將資訊從伺服器傳輸到客戶端的任務。JSON Wire 協議主要負責在 HTTP 伺服器之間傳輸資料。生成的 JSON 透過 HTTP 協議提供給瀏覽器驅動程式。
每個瀏覽器都有一個特定的瀏覽器驅動程式。瀏覽器驅動程式與其各自的瀏覽器互動,並透過解釋從瀏覽器接收到的 JSON 來執行命令。瀏覽器驅動程式一旦獲得任何指令,就會在瀏覽器上執行它們。然後,響應將以 HTTP 響應的形式返回。
讓我們考慮以下程式碼塊:
WebDriver driver = new ChromeDriver(); driver.get (“https://tutorialspoint.tw/index.htm“);
一旦我們執行此程式碼塊,整個程式碼將藉助 HTTP 上的 JSON Wire 協議轉換為 URL。轉換後的 URL 將被饋送到 ChromeDriver。
瀏覽器驅動程式利用 HTTP 伺服器從 HTTP 獲取請求。當瀏覽器驅動程式獲取 URL 時,它透過 HTTP 將請求傳遞給其瀏覽器。它將觸發在瀏覽器上執行 Selenium 指令的事件。
現在,如果請求是 POST 請求,它將在瀏覽器上觸發一個操作。如果是 GET 請求,則響應將在瀏覽器端生成。最後,它將透過 HTTP 傳遞給瀏覽器驅動程式。瀏覽器驅動程式將依次透過 JSON Wire 協議將其傳送到 UI。
這總結了 Selenium WebDriver 架構的總體解釋。