【问题标题】:SessionNotCreatedException: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context' with Chrome driverSessionNotCreatedException: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context' with Chrome driver
【发布时间】:2018-11-15 06:41:57
【问题描述】:

错误堆栈跟踪(从 cmets 更新):

Starting ChromeDriver 2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067) on port 7778 Only local connections are allowed. 
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"961185F0AA38D24650EF6C797BC32535","isDefault":true,"type":"default"},"id":1,"name":"","origin":"://"} 
(Session info: chrome=70.0.3538.102) 
(Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.68 seconds Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:41' 
System info: host: 'LTAH024', ip: '192.168.131.142', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60' 
Driver info: driver.version: ChromeDriver

我写了一个简单的程序来启动一个 chrome 浏览器。请看下面的代码。我已经在环境变量中设置了路径:

package automationFramework;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class ChromeBrowser {

  public static void main(String[] args) {
    // TODO Auto-generated method stub

    WebDriver drive = new ChromeDriver();

    drive.get("http://toolsqa.com/selenium-webdriver/running-tests-in-chrome-browser/");

    System.out.println("Successfully open tools qa website in Chrome browser");
    //Thread.sleep(5000); //To initiate thread , we need to add throws interrupt exception

    //Close the driver
    //driver.quit();
  }
}

请调查一下并帮助我。同样的事情geckodriver for firefox 正在工作。

【问题讨论】:

标签: java selenium google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

Starting ChromeDriver 2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067) on port 7778 Only local connections are allowed. 
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"961185F0AA38D24650EF6C797BC32535","isDefault":true,"type":"default"},"id":1,"name":"","origin":"://"} 
(Session info: chrome=70.0.3538.102) 
(Driver info: chromedriver=2.20.353145 (343b531d31eeb933ec778dbcf7081628a1396067),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 1.68 seconds Build info: version: '3.141.5', revision: 'd54ebd709a', time: '2018-11-06T11:58:41' 
System info: host: 'LTAH024', ip: '192.168.131.142', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60' 
Driver info: driver.version: ChromeDriver

...暗示 ChromeDriver 无法启动/生成新的 WebBrowserChrome 浏览器 会话。

您有 3 个问题,主要问题是您使用的二进制文件版本之间的不兼容性,如下所示:

  • 您正在使用 chromedriver=2.2.20
  • chromedriver=2.20 的发行说明明确提及以下内容:

支持 Chrome v43-48

  • 您正在使用 chrome=70.0
  • ChromeDriver v2.43 的发行说明明确提及以下内容:

支持 Chrome v69-71

  • 您的 Selenium Client 版本是 3.141.5..
  • 的当前版本
  • 您的 JDK 版本1.8.0_60,相当古老

所以 JDK v8u60Selenium Client v3.141.5ChromeDriver v2.20 之间存在明显的不匹配Chrome 浏览器 v70.0

解决方案

  • 使用 Selenium v​​3.x 客户端时,您需要从 ChromeDriver - WebDriver for Chrome 下载最新的 ChromeDriver 将其存储在系统中的任何位置并提供绝对路径ChromeDriverSystem.setProperty() 行的 /em> 如下:

    System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
    
  • JDK 升级到最新级别 JDK 8u191

  • ChromeDriver 升级到当前的ChromeDriver v2.43 级别。
  • Chrome 版本保持在 Chrome v69-71 级别之间。 (as per ChromeDriver v2.43 release notes)
  • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
  • 仅限 Windows 操作系统)使用 CCleaner 工具在执行您的测试套件之前和之后清除所有操作系统琐事。
  • 仅限 LinuxOSFree Up and Release the Unused/Cached Memory in Ubuntu/Linux Mint 在执行您的测试套件之前和之后。
  • 如果您的基础 Web 客户端 版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web 客户端
  • 进行系统重启
  • 执行您的@Test
  • 始终在 tearDown(){} 方法中调用 driver.quit() 以优雅地关闭和销毁 WebDriverWeb Client 实例。

【讨论】:

【解决方案2】:

Download chrome driver,把它放在你的本地,把路径放在System.setProperty试试下面的代码,希望对你有帮助。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class ChromeBrowser {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "B:\\chromedriver.exe"); //put driver path here
        WebDriver drive = new ChromeDriver();

        drive.get("http://toolsqa.com/selenium-webdriver/running-tests-in- chrome-browser/");
        System.out.println("Successfully open tools qa website in Chrome browser");
        drive.quit();
    }
}

【讨论】:

  • 我的系统是建立在 64 位版本的操作系统上安装的。并且 Chrome 驱动程序是 32 位版本,所以有区别吗?
  • 大家好,它现在一直在工作,唯一的问题是新的下载 chrome 驱动程序。我从旧的替换它并且它现在工作。谢谢大家。 @Al Imran、koushick、DebanjanB 和其他人。
【解决方案3】:

它们是打开 Chrome 浏览器的三种方式:

第一个:使用system.setproperty

System.setProperty("webdriver.chrome.driver", "F:\\New folder\\chromedriver.exe");
Webdriver driver = new ChromeDriver();

第二个:使用 Chrome 选项:

//set path to chromedriver.exe

        ChromeOptions options = new ChromeOptions();
        options.setAcceptInsecureCerts(true);
        options.setBinary(new File("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"));
        options.addArguments("disable-infobars");
        System.setProperty("webdriver.chrome.driver", "F:\\New folder\\chromedriver.exe");

        driver = new ChromeDriver(options);

最后一个:如果您使用的是 maven,请使用此

这会下载最新的 chrome 驱动程序版本并启动它。您可以在使用 bonigarcia 依赖项中使用 WebDriverManager。在您的 Pom.xml 文件中添加 bonigarcia 依赖项并通过 WebdriverManager 开始使用它

https://github.com/bonigarcia/webdrivermanager

WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();

您的 Gecko 驱动程序和 Firefox 最后是什么版本?

【讨论】:

  • FF 59.1 版和 Gecko 驱动 -> geckodriver-v0.23.0-win64
  • 它应该工作!您收到任何关于 Firefox 的错误消息?
  • 如果您使用的是 selenium 3,请更新 chrome 浏览器并尝试我上面提到的代码
猜你喜欢
  • 1970-01-01
  • 2022-01-14
  • 2015-10-24
  • 1970-01-01
  • 2021-12-27
  • 2021-04-20
  • 1970-01-01
  • 2020-11-30
  • 2022-02-20
相关资源
最近更新 更多