【问题标题】:ChromeDriver hanging sporadically, DevTools request failed. Chrome not reachable errorChromeDriver 偶尔挂起,DevTools 请求失败。 Chrome 无法访问错误
【发布时间】:2018-07-04 23:16:39
【问题描述】:

测试偶尔会因“Chrome 无法访问”错误而失败。

Throwing a WebDriver exception: chrome not reachable
  (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.26 seconds
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:01:39.354Z'
System info: host: 'XXXXXXXX', ip: 'XXXXXXXXX', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_144'
Driver info: driver.version: Driver
Exception : org.openqa.selenium.NoSuchSessionException: Session ID is null. Using WebDriver after calling quit()?
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:01:39.354Z'
System info: host: 'XXXXXXXX', ip: 'XXXXXXXXX', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_144'
Driver info: driver.version: Driver
[ERROR] Driver Initialize - Error initializing driver for browser 'CHROME'.  chrome not reachable
  (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.26 seconds
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:01:39.354Z'
System info: host: 'XXXXXXXXXX', ip: 'XXXXXXXXX', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_144'
Driver info: driver.version: Driver

org.openqa.selenium.WebDriverException: chrome not reachable
  (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.26 seconds
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:01:39.354Z'
System info: host: 'XXXXXXXX', ip: 'XXXXXXXXX', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_144'
Driver info: driver.version: Driver

当我进行一些日志记录时,我看到错误是 DevTools 请求失败。这种情况偶尔发生。看起来 chromedriver 为每个测试创建了一个用于调试的新端口,有时 Chromedriver 无法连接到新端口。不知道为什么,也不知道如何解决。有人经历过吗?

    [1516896066.375][INFO]: Launching chrome: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-background-networking --disable-client-side-phishing-detection --disable-default-apps --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --disable-web-resources --enable-automation --enable-logging --force-fieldtrials=SiteIsolationExtensions/Control --ignore-certificate-errors --load-extension="C:\Users\mna7158\AppData\Local\Temp\scoped_dir6732_10840\internal" --log-level=0 --metrics-recording-only --no-first-run --password-store=basic --remote-debugging-port=12923 --test-type=webdriver --use-mock-keychain --user-data-dir="C:\Users\mna7158\AppData\Local\Temp\scoped_dir6732_15347" data:,
[1516896066.431][DEBUG]: DevTools request: http://localhost:12923/json/version
[1516896068.429][DEBUG]: DevTools request failed
[1516896068.480][DEBUG]: DevTools request: http://localhost:12923/json/version
[1516896068.688][DEBUG]: DevTools request failed
[1516896068.739][DEBUG]: DevTools request: http://localhost:12923/json/version
[1516896070.481][DEBUG]: DevTools request failed
[1516896070.532][DEBUG]: DevTools request: http://localhost:12923/json/version
[1516896070.742][DEBUG]: DevTools request failed
[1516896070.793][DEBUG]: DevTools request: http://localhost:12923/json/version
[1516896072.532][DEBUG]: DevTools request failed

规格:

  • Chrome 版本 64(64 位)
  • 操作系统 = Windows 7
  • Chromedriver 2.35
  • Selenium-Java 3.7.1

我收到此错误的示例代码。

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class chromeDriverExample {
public WebDriver driver;
WebDriverWait wait;

@BeforeMethod
public void beforeMethod() {
    System.setProperty("webdriver.chrome.driver", "src//test//resources//drivers//chromedriver.exe");
    System.setProperty("webdriver.chrome.verboseLogging", "true");
    driver = new ChromeDriver();
    wait = new WebDriverWait(driver, 30);
}

@AfterMethod
public void afterMethod() {
    driver.close();
    driver.quit();
}

@Test(invocationCount = 15)
public void chromeTest() {
    driver.get("https://google.com");
    wait.until(ExpectedConditions.presenceOfElementLocated(By.name("q")));
}

}

【问题讨论】:

  • 自从 Chrome 于 2018 年 1 月 24 日发布最新版本 (64.0.3282) 以来,我一直遇到非常类似的问题。我已将问题追溯到 ExpectedConditions 类,但没有比这更进一步了。

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


【解决方案1】:

这可能相关也可能不相关,但我看到了类似的东西。由于我的本地 Chrome 自动更新 (macOS) 到 v64,我们看到非常零星的 Selenium TimeoutExceptions。如果我捏造我的 Chrome 版本并将其固定在版本 63,这不会发生。 v64 中的某些内容已被破坏或更改,但我正在努力确定是什么。我不知道新的 ChromeDriver 是否即将推出并且会修复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    相关资源
    最近更新 更多