使用 Selenium RemoteWebDriver 和 Grid 从 Windows PC 在 Mac 节点上启动 Safari

Launch Safari on Mac node from Windows PC with Selenium RemoteWebDriver and Grid

我正在尝试从我的 Windows PC 对我的 iMac 进行测试。

我已经下载并安装了适用于 Safari 的 webdriver 插件,并且已经建立了与基于 Windows 的 Selenium Grid 集线器的连接。

当我尝试 运行 我的测试时,我收到 OperaDriver 的错误消息:

org.openqa.selenium.WebDriverException: The best matching driver provider org.openqa.selenium.opera.OperaDriver can't create a new driver instance for Capabilities [{browserName=safari, safari.options={port=0, cleanSession=true}, version=9, platform=MAC}]

当前设置:

Windows 电脑:

java -jar selenium-server-standalone-2.53.0.jar -role hub -port 4445

Mac:

java -jar selenium-server-standalone-2.53.0.jar -role node -nodeConfig node1Config.json

node1配置:

{
"capabilities": [
    {
        "browserName": "safari",
        "acceptSslCerts": true,
        "javascriptEnabled": true,
        "takeScreenshot": false,
        "browser-version": "9",
        "platform": "MAC",
        "maxInstances": 5,
        "cleanSession": true
    }
],
"configuration": {
    "_comment": "Configuration for Node",
    "cleanUpCycle": 2000,
    "timeout": 30000,
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "port": 5568,
    "hubHost": "MyNetworkIpWasHere",
    "register": true,
    "hubPort": 4445,
    "maxSessions": 5
    }   
}

Java 启动测试:

DesiredCapabilities capabilities = DesiredCapabilities.safari();
capabilities.setPlatform(Platform.MAC);
capabilities.setBrowserName("safari");
capabilities.setVersion("9");

webDriver = new RemoteWebDriver(new URL("http://myipwashere:4445/wd/hub"), capabilities);

编辑: 我的网格上有 5 个可用的 safari 节点,none 正在使用中。

我一定是忽略了什么,任何帮助将不胜感激!

提前致谢。

经过多次尝试和错误,传递给 remotewebdriver 的 URL 只有 Safari 不正确。希望这会帮助将来遇到类似问题的人。

感谢 RemcoW 的所有帮助。