【问题标题】:Unable to create new Chrome remote session无法创建新的 Chrome 远程会话
【发布时间】:2017-05-26 19:42:39
【问题描述】:

我正在尝试使用 Selenium Grid 启动新的 Chrome 浏览器,但最终出现以下错误

无法创建新的远程会话。所需功能 = 功能 [{browserName=chrome, version=55.0.2, platform=WINDOWS}],所需功能 = 功能 [{}] 构建信息:版本:'3.0.1',修订:'1969d75',时间:'2016-10-18 09:49:13 -0700' 系统信息:主机:'PL9710388',ip:'10.61.249.5',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_111 ' 驱动信息:driver.version:RemoteWebDriver

下面是我启动远程浏览器的代码

java -Dwebdriver.chrome.driver=C:\chromedriver.exe -jar selenium-server-standalone-3.0.1.jar -role hub

java -Dwebdriver.chrome.driver=C:\chromedriver.exe -jar selenium-server-standalone-3.0.1.jar -角色节点

cap = DesiredCapabilities.chrome();
cap.setVersion("55.0.2");
cap.setBrowserName("chrome");
cap.setPlatform(org.openqa.selenium.Platform.WINDOWS);
browser = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),cap);

你能帮我看看有什么问题吗?

【问题讨论】:

    标签: java selenium-webdriver selenium-chromedriver selenium-grid


    【解决方案1】:

    确保您的代码能够在您的系统中找到 chromedriver。您可以通过编程方式设置路径,甚至可以从下面的link 下载并保留您的驱动程序

    System.setProperty("webdriver.chrome.driver","/path to/chromedriver.exe");
    cap = DesiredCapabilities.chrome();
    cap.setPlatform(org.openqa.selenium.Platform.WINDOWS);
    browser = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),cap);
    

    【讨论】:

    • 我刚刚将驱动程序放在 Selenium Grid 的当前目录中,感谢您指出 :)
    【解决方案2】:

    java -Dwebdriver.chrome.driver=C:\chromedriver.exe -jar selenium-server-standalone-3.0.1.jar -role node 行导致一个普通的普通节点被分离出来,它与 PLATFORM 风格无关(即,该节点未被分类为将平台识别为特征并且应该作为通用节点工作)。

    但是,您的测试代码似乎指定了如下平台

    cap = DesiredCapabilities.chrome();
    cap.setVersion("55.0.2");
    cap.setBrowserName("chrome");
    cap.setPlatform(org.openqa.selenium.Platform.WINDOWS);
    

    要解决您的问题,请将您的测试代码更改为如下所示

    cap = DesiredCapabilities.chrome(); // this sets the browser name. u dont need to do it again.
    browser = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"),cap);
    

    一旦你有了这个,你应该能够正确地执行测试。

    请不要忘记在启动节点之前将您的 chromedriver 二进制文件所在的位置添加到您的 PATH 变量中,这样您就不会看到与 selenium 无法找到 chromedriver 的位置相关的问题。

    有关使用 Grid 的一般概述,您可以参考my blog post

    【讨论】:

      【解决方案3】:

      我遇到了同样的情况,我发现平台、浏览器名称和浏览器版本详细信息与网格配置不匹配。具体来说,这是因为我使用 platrom 作为我会使用 VISTA 的窗口。还要确保您使用的是集线器 URL 而不是节点 URL。集线器 URL 将是 http://hubIP:port/wd/hub

      请参阅下面的屏幕截图以获取有关节点的正确详细信息:

      【讨论】:

        猜你喜欢
        • 2017-03-03
        • 2017-09-10
        • 2021-04-05
        • 2017-06-03
        • 1970-01-01
        • 1970-01-01
        • 2022-01-16
        • 2017-12-19
        • 2017-08-01
        相关资源
        最近更新 更多