org.openqa.selenium.NoSuchSessionException:在使用 ChromeDriver Chrome 和 Java 的 Selenium 自动化测试中没有此类会话错误
在我的管道中运行 selenium 时得到没有这样的会话异常".我发现许多与之相关的解决方案,但没有一个对我有用.有什么帮助或想法吗?异常跟踪:
Getting "No such session exception" while running selenium in my pipeline. I find many solutions related it but none worked for me. Any assistance or idea? Exception trace:
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().测试有时会成功运行,有时会失败.
I have checked in code; there is no driver.close() or driver.quit() is used.Tests are running successfully sometime and sometimes are failing.
谁能帮我解决这个问题?
Can any one help me for this issue?
推荐答案
这个错误信息...
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 无法启动/生成新的浏览上下文,即 Chrome 浏览器 会话.
...implies that the ChromeDriver was unable to initiate/spawn a new Browsing Context i.e. Chrome Browser session.
您的主要问题是您使用的二进制文件版本之间的不兼容性,如下所示:
Your main issue is the incompatibility between the version of the binaries you are using as follows:
- 您正在使用 chromedriver=2.38
- chromedriver=2.38 的发行说明明确提及以下内容:
支持 Chrome v65-67
- 大概你正在使用 chrome=79.0
- ChromeDriver v79.0的发行说明/a> 明确提及以下内容:
- Presumably you are using chrome=79.0
- Release Notes of ChromeDriver v79.0 clearly mentions the following :
- 您的 Selenium Client 版本是 2018-02-07T22:25:02.294Z 的 3.9.1,几乎是 2 岁.
- 您的 JDK 版本 是 1.8.0_121,非常古老.
- Your Selenium Client version is 3.9.1 of 2018-02-07T22:25:02.294Z which is almost 2 years older.
- Your JDK version is 1.8.0_121 which is pretty ancient.
- JDK 升级到当前级别 JDK 8u232.
- Selenium 已升级到当前级别版本 3.141.59.
- ChromeDriver 已更新为当前 ChromeDriver v79.0.3945.36 级别.
- Chrome 已更新至当前 Chrome 版本 79.0 级别.(根据 ChromeDriver v79.0 发行说明)
- 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖.
- 如果您的基础 Web Client 版本太旧,请通过 卸载它Revo Uninstaller 并安装最新的 GA 和发布版本的 Web Client.
- 进行一次系统重启.
- 以 非 root 用户身份执行您的
@Test
. - JDK is upgraded to current levels JDK 8u232.
- Selenium is upgraded to current levels Version 3.141.59.
- ChromeDriver is updated to current ChromeDriver v79.0.3945.36 level.
- Chrome is updated to current Chrome Version 79.0 level. (as per ChromeDriver v79.0 release notes)
- Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
- If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client.
- Take a System Reboot.
- Execute your
@Test
as non-root user.
支持Chrome 79版
所以 JDK v8u121、Selenium Client v3.9.1、ChromeDriver v2.38 和 Chrome 之间存在明显的不匹配浏览器 v79.0
确保:
相关文章