【问题标题】:org.openqa.selenium.NoSuchSessionException: no such session error in Selenium automation tests using ChromeDriver Chrome with Javaorg.openqa.selenium.NoSuchSessionException:在使用 ChromeDriver Chrome 和 Java 的 Selenium 自动化测试中没有此类会话错误
【发布时间】:2020-05-16 19:22:11
【问题描述】:

在我的管道中运行 selenium 时得到“没有这样的会话异常”。 我发现许多与之相关的解决方案,但没有一个对我有用。有什么帮助或想法吗? 异常跟踪:

org.openqa.selenium.NoSuchSessionException: no such session
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
System info: host: 'chaos', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.21.3.el7.x86_64', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.38.552522 (437e6fbedfa876..., userDataDir: /tmp/.org.chromium.Chromium...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 75.0.3770.100, webStorageEnabled: true}
Session ID: e25db38f6fb8cdaac6d4a699504c608f
    at sun.reflect.GeneratedConstructorAccessor129.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
    at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
    at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
    at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)

我已签入代码;没有使用 driver.close() 或 driver.quit()。测试有时会成功运行,有时会失败。

谁能帮我解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    此错误消息...

    org.openqa.selenium.NoSuchSessionException: no such session
      (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
    Command duration or timeout: 0 milliseconds
    Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
    System info: host: 'chaos', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.21.3.el7.x86_64', java.version: '1.8.0_121'
    Driver info: org.openqa.selenium.chrome.ChromeDriver
    

    ...暗示 ChromeDriver 无法启动/产生新的 Browsing ContextChrome Browser 会话。

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

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

    支持 Chrome v65-67

    • 大概您正在使用 chrome=79.0
    • ChromeDriver v79.0 的发行说明明确提及以下内容:

    支持Chrome 79版

    • 您的 Selenium Client 版本是 2018-02-07T22:25:02.294Z3.9.1,几乎是 2 岁。
    • 您的 JDK 版本1.8.0_121,相当古老。

    所以 JDK v8u121Selenium Client v3.9.1ChromeDriver v2.38Chrome 之间存在明显的不匹配浏览器 v79.0


    解决方案

    确保:

    • JDK 升级到当前级别JDK 8u232
    • Selenium 升级到当前级别 Version 3.141.59
    • ChromeDriver 已更新到当前的ChromeDriver v79.0.3945.36 级别。
    • Chrome 已更新至当前 Chrome 版本 79.0 级别。 (根据ChromeDriver v79.0 release notes
    • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
    • 如果您的基础 Web Client 版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client
    • 进行系统重启
    • 非root用户身份执行@Test

    【讨论】:

      猜你喜欢
      • 2016-10-30
      • 2017-08-27
      • 1970-01-01
      • 2019-08-07
      • 2020-03-28
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      相关资源
      最近更新 更多