docker使用記錄java
新建一個hub,名字叫hub,node
docker run -d -p 4444:4444 --name hub selenium/hub web
docker restart hub 啓動chrome
docker ps 查看正在使用的hub nodedocker
docker stop hub 中止正在運行的json
docker rm hub 移除,移除後要從新新建瀏覽器
啓動一個節點,名稱爲chrome,下面那個是加2G的共享內存session
docker run -P -d --link hub:hub --name chrome selenium/node-chrome
測試
docker run -P -d --link hub:hub --name chrome --shm-size=2g selenium/node-chromegoogle
三、做爲hub啓動
[java] view plaincopy
java -jar selenium-server-standalone.jar -role hub
參數說明:
-role:hub
啓動一個hub服務,等待webdriver客戶端進行註冊和請求。默認啓動端口是4444,默認接收註冊的地址爲:http://localhost:4444/grid/register
-hubConfig:[filename]
一個符合selenium grid2規則的json格式的hub配置文件,樣例以下:[其實這個就是selenium-grid的默認使用的配置文件]
[java] view plaincopy
{
"host": null,
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 300000,
"browserTimeout": 0,
"maxSession": 5
}
-throwOnCapabilityNotPresent: [true|false]
默認爲true,若是爲true則hub只有在當前有測試代理註冊的狀況下才會接受測試請求;若是爲false則若是當前沒有代理註冊也會接受請求保存到隊列直到有代理註冊爲止。
-capabilityMatcher:xxx
一個實現了CapabilityMatcher接口的類,默認指向 org.openqa.grid.internal.utils.DefaultCapabilityMatcher;該類用於實現grid在分佈測試任 務到對應代理時所使用的匹配規則,若是想要更精確的測試分配規則,那麼就註冊一個本身定義的匹配類。
-prioritizer:XXXclass
一個實現了Prioritizer接口的類。設置grid執行test任務的優先邏輯;默認爲null,先來先執行。
-port:xxx
指定hub監聽的端口
-host:ip_or_host
指定hub機的ip或者host值
-newSessionWaitTimeout:XXX
默認-1,即沒有超時;指定一個新的測試session等待執行的間隔時間。即一個代理節點上先後2個測試中間的延時時間,單位爲毫秒。
-servlets: XXXserlet
在hub上註冊一個新的serlet,訪問地址爲/grid/admin/XXXserlet
-browserTimeout:
瀏覽器無響應的超時時間
-grid1Yml:
一個符合grid1規則的yml文件,僅適用於grid1
四、做爲webdriver或者node啓動
[java] view plaincopy
java -jar selenium-server-standalone.jar -role wd -hub http://localhost:4444/grid/register
java -jar selenium-server-standalone.jar -role rc -hub http://localhost:4444/grid/register
java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register
參數說明:
-role: [node|wd|rc]
爲node值時表示註冊的RC能夠支持selenium一、selenium2兩種方式的測試請求,推薦;
爲wd值時表示註冊的RC僅支持selenium2的webdriver方式的測試請求,遺留;
爲rc值時表示註冊的RC僅支持selenium1方式的測試請求,遺留。
-hub:url_to_hub
url_to_hub值爲hub啓動的註冊地址,默認爲ttp://ip_for_hub:4444/grid/register;具體的根據你啓動hub時的參數所對應。
該選項包含了-hubHost和-hubPort兩個選項
-hubHost:ip_or_host
指定hub機的ip或者host值
-host:ip_or_host
同-hubHost選項
-hubPort:xxx
指定hub機的監聽端口
-port:XXX
同-hubPort選項
-registerCycle:xxx
代理節點自動從新註冊的週期,單位毫秒;適應於重啓了hub時不須要重啓全部的代理節點。
-nodePolling:XXX
hub檢查代理節點的週期
-unregisterIfStillDownAfter:XXX
單位毫秒,設定代理節點在無響應多長時間後hub纔會註銷代理節點註冊信息;默認1分鐘
-nodeTimeout:xxx
客戶端的無意跳超時時間
-maxSession:xx
一個代理節點能夠同時啓動的瀏覽器最大數量,即session數量
-cleanupCycle:XXX
代理節點檢查超時的週期
-nodeConfig: json_file
一個符合selenium grid2規則的json格式的node配置文件,樣例
[java] view plaincopy
{
"capabilities":
[
{
"browserName": "*firefox",
"maxInstances": 5,
"seleniumProtocol": "Selenium"
},
{
"browserName": "*googlechrome",
"maxInstances": 5,
"seleniumProtocol": "Selenium"
},
{
"browserName": "*iexplore",
"maxInstances": 1,
"seleniumProtocol": "Selenium"
},
{
"browserName": "firefox",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"configuration":
{
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"host": ip,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": ip
}
}
-servlets: XXXserlet
在node上註冊一個新的serlet,訪問地址爲/grid/admin/XXXserlet
-proxy: 代理類
默認指向org.openqa.grid.selenium.proxy.DefaultRemoteProxy;用於表明節點的代理
-browserTimeout:
瀏覽器無響應的超時時間
-browser:browserName=firefox,version=3.6,platform=LINUX
設置代理節點的註冊信息,這些信息一樣能夠在配置文件裏設置;該參數可使用屢次用以同時註冊多個瀏覽器信息。
能夠設置的信息有:
[java] view plaincopybrowserName=firefox version=3.6 platform=LINUX maxInstances=5 firefox_binary=/home/myhomedir/firefox36/firefox chrome_binary="C:\program file\chrome\chrome.exe" ————————————————版權聲明:本文爲CSDN博主「xiaomin_____」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。原文連接:https://blog.csdn.net/xiaomin1991222/article/details/50980117