【问题标题】:"Chrome Not Reachable" when invoking Selenium scripts from Eclipse IDE从 Eclipse IDE 调用 Selenium 脚本时出现“Chrome 无法访问”
【发布时间】:2017-08-31 11:19:26
【问题描述】:

在我们的 Selenium 远程 webdriver 设置中,我们编写了 Selenium Java 测试脚本以在 Chrome 浏览器中运行。我们正在使用 Chrome 驱动程序 2.28。 Selenium 独立服务器 2.53。硒 API 2.53。当我们在 Eclipse IDE 中运行我们的脚本时,5 次中有 3 次 Chrome 浏览器不会被调用或脚本启动需要很长时间。当它无法调用浏览器时,它会失败并出现此异常 ....

> Caused by: org.openqa.selenium.WebDriverException: chrome not
> reachable   (Driver info: chromedriver=2.28.455520
> (cc17746adff54984afff480136733114c6b3704b),platform=Windows NT
> 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 62.50 seconds
> Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15
> 17:00:58' System info: host: '<XXXXXXX>', ip: '<XXXXXXXXXX>',
> os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1',
> java.version: '1.8.0_121' Driver info:
> org.openqa.selenium.chrome.ChromeDriver
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         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:206)
>         at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
>         at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
>         at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
>         at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
>         at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
>         at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
>         at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
>         ... 13 more 11:58:11.356 WARN - Exception: chrome not reachable

(驱动程序信息:chromedriver=2.28.455520 (cc17746adff54984afff480136733114c6b3704b),平台=Windows NT 6.1.7601 SP1 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:62.50 秒 构建信息:版本:'2.53.0',修订:'35ae25b',时间:'2016-03-15 17:00:58'系统信息:主机:'',ip:'', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_121' 驱动信息: org.openqa.selenium.chrome.ChromeDriver 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:170) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:138) ... 13 更多 11:58:11.356 警告 - 例外:无法访问 chrome

临时但痛苦的解决方案是去Windows任务管理器并杀死六个左右,Chrome.exe进程一个接一个。据观察,即使我们运行脚本或手动运行应用程序,被调用的 Chrome 浏览器进程也更像是 6 或 7,而不是更少。

是 Chrome 浏览器还是 Selenium 问题。 ? 就个人而言,我以前没有遇到过这个问题,不像我的团队成员一年以来一直有这个问题。一旦我将 Chrome 驱动程序从 2.25 升级到 2.28,我就开始遇到这个问题。

【问题讨论】:

    标签: google-chrome selenium selenium-webdriver


    【解决方案1】:

    将你的 selenium 独立 jar 从这里升级到最新的 3.3.1 http://www.seleniumhq.org/download/

    【讨论】:

    • 感谢您的快速回复。这是一种预感还是您通过这种方法遇到并解决的问题?我问的原因是我们公司严格控制安装在我们 PC 上的所有东西。事实上,在我们在公司软件目录中提出请求后,他们会将其推送到我们的 PC 上。说服他们将它放在软件中心然后下载它是一个繁琐的过程。我需要给出一个可靠的论据。
    • 是的。这是我相信的唯一原因。
    • 我们通过在远程 Web 驱动程序设置中升级到 Selenium 3.3.1 独立服务器和客户端 Java API 到 3.3.1 进行了检查,这次我们收到了一条不同的消息,显示为“会话超时”。可能不像以前那么频繁了。然而,这不是一个成功的解决方案。等待好的建议。
    • 你的chrome驱动升级到2.28了吗?
    • 是的。先生 !!请记住,由于我们无法控制的其他原因,我们处于远程驱动程序设置中。在不了解的情况下,我们正在端口 60000 上运行 Selenium 独立服务器并从 Eclipse 运行脚本。
    【解决方案2】:

    我在我的项目中遇到了这个问题。我通过

    解决了这个问题
    • 将 Selenium Webdriver 升级到最新版本 3.3.1
    • 将 Chrome 驱动程序升级到 2.28 版
    • 让您的 Chrome 浏览器拥有最新版本 系统。确保您的浏览器是最新的

    您可以从Selenium Downloads获取所有浏览器驱动

    谢谢

    【讨论】:

    • Firefox 我们不会用于 Selenium 测试,因为我们的整个用户社区只使用 Chrome。这不会是一个问题。但是对于使用 Chrome 浏览器本身,我们只需要 (1) 升级 WebDriver 3.3.1 (2) 升级 chrome 驱动程序 2.28 (3) 让您的 Chrome 浏览器保持最新。这一切都正确吗??
    【解决方案3】:

    如果您以 root 用户身份运行脚本,它将抛出错误“chrome 无法访问”。尝试以普通用户身份运行脚本,它会正常工作。

    【讨论】:

    • 如何在 Windows 中做到这一点?
    • 不要运行你的脚本as administrator
    • @rajat 我正在远程服务器上运行脚本。我有 15 个测试用例,其中 11 个通过但其余 4 个失败,错误为 chrome not reachable。为什么行为异常?
    【解决方案4】:

    在打开另一个实例之前尝试添加它。

    driver.close();
    driver.quit();
    

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题,必须在 ChromeOptions 中添加实际 Chrome 浏览器二进制文件的路径,并将 ChromeDriver 包含在 Windows PATH 中。 (编辑:虽然我没有运行远程驱动程序设置)

      【讨论】:

        猜你喜欢
        • 2021-02-11
        • 1970-01-01
        • 1970-01-01
        • 2022-08-15
        • 2018-08-18
        • 2015-11-19
        • 1970-01-01
        • 2017-04-05
        • 1970-01-01
        相关资源
        最近更新 更多