详细说明:
Windows版本: 10,64位
MAC: macOS Sierra 10.12.5
Safari: 10.1.1
Selenium: 3.4.0
使用以下命令在Windows计算机上启动集线器并成功启动
java -jar selenium-server-standalone-3.4.0.jar -role hub -port 4444
使用以下命令在MAC机器上启动节点并成功启动
java -jar selenium-server-standalone-3.4.0.jar -role node -nodeConfig mac.json
mac.json内容是
{
"capabilities":
[
{
"browserName": "safari",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "firefox",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "chrome",
"maxInstances": 5,
"seleniumProtocol": "WebDriver"
},
{
"browserName": "internet explorer",
"maxInstances": 1,
"seleniumProtocol": "WebDriver"
}
],
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"maxSession": 5,
"port": 5555,
"register": true,
"registerCycle": 5000,
"hub": "http://192.101.3.23:4444",
"nodeStatusCheckTimeout": 5000,
"nodePolling": 5000,
"role": "node",
"unregisterIfStillDownAfter": 60000,
"downPollingLimit": 2,
"debug": false,
"servlets" : [],
"withoutServlets": [],
"custom": {}
}
用于调用浏览器的Selenium Java代码是
capability = DesiredCapabilities.safari();
capability.setBrowserName("safari");
capability.setPlatform(Platform.MAC);
SafariOptions options = new SafariOptions();
options.setUseCleanSession(true);
capability=DesiredCapabilities.safari();
capability.setCapability(SafariOptions.CAPABILITY, options);
capability.setPlatform(Platform.ANY);
driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);
执行Safari浏览器的以下行
driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);
抛出异常
java.lang.reflect.InvocationTargetException
我无法继续,我错过了什么,什么不允许我继续前进,任何人都可以帮助。
更新了Selenium Java代码,如下所示,并且工作正常
capability = DesiredCapabilities.safari();
driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);
答案 0 :(得分:1)
更新了以下Java代码以调用浏览器,并且工作正常
capability = DesiredCapabilities.safari();
driver=new RemoteWebDriver(new URL(http://192.101.1.23:5555),capability);
答案 1 :(得分:0)
您是否直接在测试中调用Mac-Node? p>
我没有测试它,但如果我理解正确,你必须打电话给中心。然后集线器管理向节点的调度。
所以你的电话应该是这样的:
driver=new RemoteWebDriver(new URL(http://192.101.3.23:4444/wd/hub),capability);