selenium grid 搭建

微微微笑發表於2015-12-08

hub端

Step1: 下載 selenium-server-standalone-x.xx.x.jar
我下載的是:selenium-server-standalone-2.44.0.jar
下載地址: http://selenium-release.storage.googleapis.com/index.html

 

Step2: 新建 hub.bat
內容: java -jar selenium-server-standalone-x.xx.x.jar -role hub
我的是: java -jar selenium-server-standalone-2.44.0.jar -role hub

 

Step3: 啟動hub
雙擊 hub.bat,即可啟動hub。
備註: selenium-server-standalone-x.xx.x.jar 必須和 hub.bat在一個路徑下。

node端

Step1: 下載 selenium-server-standalone-x.xx.x.jar
我下載的是:selenium-server-standalone-2.44.0.jar
下載地址: http://selenium-release.storage.googleapis.com/index.html

 

Step2: 下載瀏覽器driver

如果測試環境是IE瀏覽器,下載IEDriverServer.exe

下載地址: http://selenium-release.storage.googleapis.com/index.html

如果測試環境是Chrome瀏覽器,就下載chromedriver.exe
下載地址: http://chromedriver.storage.googleapis.com/index.html

如果測試環境是Firefox瀏覽器,就直接安裝Firefox即可,但是要記住安裝路徑,後邊要配置。

Step3: 新建defaultNode.json

內容如下:

{
  "capabilities":
      [
        {
          "browserName": "firefox",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "chrome",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "platform": "WINDOWS",
          "browserName": "internet explorer",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        }
      ],
  "configuration":
  {
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "maxSession": 5,
#node啟動的埠以及IP地址
    "port": 5555,
    "host": 127.0.0.1,
    "register": true,
    "registerCycle": 5000,
#hub啟動的埠以及IP地址
    "hubPort": 4444,
    "hubHost": 127.0.0.1
  }
}

 

Step4: 新建node.bat

如果節點想啟動IE: java -jar selenium-server-standalone-x.xx.x.jar -role webdriver -nodeConfig defaultNode.json -Dwebdriver.ie.driver=.\IEDriverServer.exe

.\IEDriverServer.exe 為IE driver的放置路徑,我的node.bat和IE driver在一個資料夾,所以是.\IEDriverServer.exe。


如果節點想啟動Chrome:java -jar selenium-server-standalone-x.xx.x.jar -role webdriver -nodeConfig defaultNode.json  -Dwebdriver.chrome.driver=.\chromedriver.exe

.\chromedriver.exe為chrome driver的放置路徑,我的node.bat和chrome driver在一個資料夾,所以是.\chromedriver.exe。


如果節點想啟動Firefox: java -jar selenium-server-standalone-x.xx.x.jar -role webdriver -nodeConfig defaultNode.json -Dwebdriver.firefox.bin="E:\\firefox\\firefox.exe"

"E:\\firefox\\firefox.exe"為Firefox的安裝路徑。

 

Step5:啟動node雙擊 node.bat,即可啟動node。

備註: 上面所有的檔案都必須在一個路徑下。
一臺測試機上可以啟動多個代理,前提是要保證不使用相同的埠即可。(不穩定、不建議)

 

終端檢視

在hub機器的瀏覽器上開啟頁面: http://localhost:4444/grid/console#
即可檢視所有連線到本hub的機器資訊。

 

程式碼

#encoding:utf-8
"""Hello World"""

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import time

#IE browser
driver=webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities=DesiredCapabilities.INTERNETEXPLORER)
#chrome browser
# driver=webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities=DesiredCapabilities.CHROME)
# Firefox browser
# driver=webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',desired_capabilities=DesiredCapabilities.FIREFOX)

driver.get("http://www.baidu.com")
time.sleep(3)
print driver.title
assert "百度一下" in driver.title

elem=driver.find_element_by_id("kw")
elem.send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
print driver.title
assert "selenium" in driver.title

driver.close()

 

 

相關文章