准备工作:
1、安装jdk,python(略)
2、下载chromedriver.exe(下载地址:http://npm.taobao.org/mirrors/chromedriver/)
3、selenium-grid下载:http://selenium-release.storage.googleapis.com/index.html
启动hub:
java -jar C:\workSpace\soft\drivers\selenium-server-standalone-3.141.59.jar -role hub -maxSession 10 -port 4444
参数解析:
-role hub表示启动运行hub;
-port是设置端口号,hub的默认端口是4444,这里使用的是默认的端口,当然可以自己配置;
-maxSession为最大会话请求,这个参数主要要用并发执行测试用例,默认是1,建议设置10及以上。
浏览器打开地址:http://localhost:4444/grid/console,出现如下图表示hub启动成功。
启动node:
java -Dwebdriver.chrome.driver=C:\workSpace\soft\drivers\chromedriver.exe -jar C:\workSpace\soft\drivers\selenium-server-standalone-3.141.59.jar -role node -port 6666 -hub http://127.0.0.1:4444/grid/register/ -maxSession 5 -browser browserName=chrome,seleniumProtocol=WebDriver,maxInstances=5,platform=WINDOWS
参数解析:
-role node:表示启动的是node节点
-port 5555:指定node节点端口
-hub http://192.168.0.245:4444/grid/register:表示hub机地址
-maxSession 5:node节点最大会话请求
-browser browserName=firefox,seleniumProtocol=WebDriver,maxInstances=5,platform=WINDOWS,version=45.0.2
这个就是设置浏览器的参数啦,这个很重要;browserName表示浏览器名字,如chrome、firefox、ie;maxInstances表示最大实例,可以理解为最多可运行的浏览器数,这个值很关键,不能大于前面maxSession的值,否则可能会出错;platform表示操作系统;version表示浏览器版本。
-Dwebdriver.chrome.driver=chromedriver.exe :浏览器插件,如果是其他浏览器就写对应的名字
如firefox: -Dwebdriver.firefox.driver=geckodriver.exe
刷新一下http://localhost:4444/grid/console的访问会发现node节点已经显示
python实例:
from selenium import webdriver
import os
chrome_driver = os.path.abspath("C:\\workSpace\\soft\\drivers\\chromedriver.exe")
os.environ["webdriver.chrome.driver"] = chrome_driver
chrome_capabilities = {
"browserName": "chrome", # 浏览器名称
"version": "", # 操作系统版本
"platform": "ANY", # 平台,这里可以是windows、linux、andriod等等
"javascriptEnabled": True, # 是否启用js
"webdriver.chrome.driver": chrome_driver
}
driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", desired_capabilities=chrome_capabilities)
driver.maximize_window()
driver.get("http://www.baidu.com")
print(driver.title)
driver.quit()