2017-03-29 56 views
2

我試圖瞭解像WebDriver.findBy(...)這樣的東西對性能的影響。例如,如果我用硒驅動裝置的Chrome實例:Selenium如何存儲DOM?

WebElement betty = webDriver.findBy(By.id("betty")); 

是否硒庫

一)已在JVM中的DOM評價?

b)轉到本地Chrome驅動程序二進制文件進行評估?

c)去瀏覽器實例來評估?

答案是否改變了Grid的情況?

回答

3

我發現一個不錯的technical guide解釋這一點。

的瀏覽器驅動程序使用的HTTP SERVER它連續等待 新硒命令

它具有以下用途:

  • 讀取的HTTP請求從客戶端來(客戶=計算機執行該測試自動化腳本)

  • 確定需要用於實現硒的一系列步驟命令

  • 將執行步驟發送到瀏覽器
  • 從瀏覽器獲取執行狀態
  • 發送執行狀態返回給客戶端

對於自動化腳本的每個硒命令,與特定的路徑中的http請求被創建

當執行自動化腳本時,第一個http請求將生成一個新的會話,該會話特定於自動化腳本運行的瀏覽器。

會話ID將用於與自動化腳本中的所有其他 Selenium命令相對應的http請求。

+0

優秀的東西! – DebanjanB

+0

很好找,謝謝。因此,總而言之,沒有緩存,我們正通過驅動程序通過網絡(儘管本地或遠程)通過瀏覽器進行這些操作。 – markdsievers

+0

@markdsievers是的。如果DOM被緩存,隱式和顯式等待將失去所有含義。 – Guy

相關問題