【问题标题】:How to solve org.openqa.selenium.SessionNotCreatedException selenium grid 3如何解决 org.openqa.selenium.SessionNotCreatedException 硒网格 3
【发布时间】:2017-07-30 10:42:26
【问题描述】:

我正在使用 selenium 3.2.0 独立版、chrome 最新版本和 chrome 驱动程序最新版本,它们在运行时无法连接。
chrome驱动有问题,请帮忙

org.openqa.selenium.SessionNotCreatedException:

我的代码如下所示:

System.setProperty("webdriver.chrome.driver","E:/WorkSpace/Econsys_Auto/Jarfiles/chromedriver.exe");
System.setProperty("webdriver.chrome.driver","E:/WorkSpace/Econsys_Auto/Jarfiles/chromedriver.exe");

DesiredCapabilities capabilities=DesiredCapabilities.chrome();

capabilities.setBrowserName("chrome");

capabilities.setPlatform(Platform.XP);

System.out.println("*******");
driver = new RemoteWebDriver(new URL(nodeUrl), capabilities);
driver.get(baseUrl);

【问题讨论】:

  • 您正在尝试连接到远程浏览器会话。节点是如何配置的?您是否尝试过本地会话?

标签: java selenium selenium-chromedriver selenium-grid


【解决方案1】:

建议您使用 Selenium 3.3.0(刚刚发布)重试

Selenium(3.3.0 之前的版本)中存在一个问题,该问题阻止了将新会话失败的实际原因传递给测试。这就解释了为什么您无法确定根本原因。

这现在作为this commit 的一部分在 Selenium 3.3.0 中得到修复

现在回到您的测试未生成 chrome 浏览器的可能原因。

我注意到你正在使用

System.setProperty("webdriver.chrome.driver","E:/WorkSpace/Econsys_Auto/Jarfiles/chromedriver.exe");

在您的测试代码中。 这将为当前 JVM 设置 JVM 参数 webdriver.chrome.driver。 Grid 和节点在不同的 JVM 中运行(还记得您使用 java -jar 命令生成它们吗?)。

我建议您将 "E:/WorkSpace/Econsys_Auto/Jarfiles/" 添加到您的 PATH 变量中。这是您将在“每台机器”的基础上进行的一次性练习,这将确保 Selenium 找到 chromedriver 二进制文件的位置(我认为这就是您的测试失败的原因,您应该能够确认这一点,如果您查看了节点的控制台日志)

【讨论】:

    【解决方案2】:

    使用 chromedriver 2.28 获得了 selenium 3.2.0,但我获得了 Win10。

    试试这个代码:

    System.setProperty("webdriver.chrome.driver", "chromedriver.exe");//use your path
                try{
                    driver = new ChromeDriver();
                }
                catch (Exception e) {
                    System.out.println(e);
                }
    

    【讨论】:

      猜你喜欢
      • 2018-06-15
      • 2019-02-23
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多