使用2.0,我在节点配置json中使用以下配置设置运行Selenium网格:
{
...
"configuration":[
...
"dwebdriver.chrome.driver=...":""
]
}
现在我了解配置变量已被展平,并尝试压缩声明,但Chrome无法启动并在节点控制台中显示错误。
当我在启动节点时添加-D参数(在命令行中 - 感谢How to run selenium 3.x with chrome driver through terminal)我可以成功运行chrome,但是我希望将它全部包含在节点配置文件中
答案 0 :(得分:0)
我不记得能够通过JSON配置文件传递JVM参数[webdriver.chrome.driver
基本上是一个JVM参数]。
我也不记得看到任何用于生成集线器或节点的JSON配置文件的重组。他们总是保持不变。 (有关示例集线器配置,请参阅here,对于示例节点配置,请参见here)
如果您不想通过JVM参数指定Chrome驱动程序的位置,我建议您只需将chromedriver.exe所在的路径添加到PATH
变量中作为一个每台机器的时间活动。之后,您不需要使用JVM参数指定chromedriver二进制文件所在的位置。
答案 1 :(得分:0)
将此配置文件用于节点: 注意最后两行
{
"capabilities":
[
{
"browserName": "firefox",
"marionette": true,
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"platform": "WINDOWS",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "safari",
"technologyPreview": false,
"platform": "MAC",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": -1,
"register": true,
"registerCycle": 5000,
"hub": "http://192.168.1.2:4444",
"nodeStatusCheckTimeout": 5000,
"nodePolling": 5000,
"role": "node",
"unregisterIfStillDownAfter": 60000,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {},
"webdriver.gecko.driver":"c:/drivers/geckodriver.exe",
"webdriver.chrome.driver":"c:/drivers/chromedriver.exe"
}