2015-12-21 25 views
2

我想在節點中存在的不同版本的瀏覽器exes上運行一個測試。我如何在代碼中傳遞版本信息以及如何配置節點來接受這些爭論?如何在同一個Node中的不同瀏覽器版本中運行selenium代碼?

+0

如何在一個節點上安裝不同版本的瀏覽器?如果您管理某種方式在單個節點上安裝2個或更多不同版本的瀏覽器,您將如何判斷驅動程序將使用哪一個? –

+0

否則,遠程webDriver的工作方式是:1.在配置文件中在集線器上註冊節點時,您將傳遞給集線器參數版本。這個版本可以是你定義的任何東西,例如:「土豆」。啓動遠程Web驅動程序時,您需要使用功能參數調用集線器,其中包含您的瀏覽器版本「potato」。 –

+0

我可以在一個節點上有不同的二進制文件,並引用它們的路徑..我的問題也是一樣的,如何通過代碼告訴哪個驅動程序? – SRK

回答

1

要在同一節點上運行不同的瀏覽器版本,您需要按照以下步驟操作。

安裝所有節點機上所需要的瀏覽器版本的瀏覽器Firefox的情況下,並在ChromeDriverIEDriver情況下保持不同的二進制版本。

現在您需要提及node_config文件中您在評論NodeConfig中提及的所有瀏覽器版本。

例如: - 您可以在您的node_config文件中提及不同的瀏覽器版本,如下所述,我使用了2種不同的Firefox版本。

{ 
     "browserName": "firefox", 
     "maxInstances": 3, 
     "version": 40, 
     "seleniumProtocol": "WebDriver" 
    }, 
    { 
     "browserName": "firefox", 
     "maxInstances": 3, 
     "version":38, 
     "seleniumProtocol": "WebDriver" 
    }, 
    { 
     "browserName": "chrome", 
     "maxInstances": 5, 
     "seleniumProtocol": "WebDriver" 
    } 
} 

現在你可以用相同的配置啓動您的節點,你就可以看到你的Selenium Grid控制檯上的2個不同版本的瀏覽器。

Selenium Grid Console

一旦你能夠設置你的節點,你可以在你的電網樞紐運行的代碼,它會照顧瀏覽器的分佈。

+0

你將如何確定哪個瀏覽器從驅動程序啓動? –

+0

在同一個節點上,它不可能。 Hub將根據可用性自動分配瀏覽器。這可以使用多個節點來實現。 – Paras

+0

只有一件事,我們在哪裏配置不同的驅動程序路徑?因爲在請求到達特定版本後,它應該在該特定驅動程序上執行。 – SRK

相關問題