Docker Chrome сбой: OpenQA.Selenium.WebDriverException: неизвестная ошибка: Chrome не удалось запустить: сбой. (chrome недоступно) - PullRequest
0 голосов
/ 25 марта 2020

Моя текущая цель - сделать так, чтобы Jenkins развернул Windows Servercore docker контейнер с установленным chrome, который мой тест на селен будет запускать локально в режиме без головы.

Я застрял и сделал изрядное количество исследований. Большинство людей отметили, что добавление аргумента --no-sandbox решит эту проблему. Однако это не так для меня. Я также добавил довольно много аргументов, как упомянули люди, но не повезло:

options.AddArguments("--headless");
options.AddArguments("--no-sandbox");
options.AddArguments("--disable-gpu");
options.AddArguments("--disable-dev-shm-usage");

Я убедился, что оба chromedriver и chrome установлены одинаково:

  • Chrome драйвер от Nuget: Selenium.WebDriver.ChromeDriver.80.0.3987.10600
  • Chrome браузер установлен через chocolatey: ChromeDriver 80.0.3987.106

У кого-нибудь еще есть Решение, которое я еще не пробовал? Трассировка стека ниже

Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 49205
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
    TestLibrary.Tests.Test1 [STARTING]
    TestLibrary.Tests.Test1 [FAIL]
      OpenQA.Selenium.WebDriverException : unknown error: Chrome failed to start: crashed.
  (chrome not reachable)
  (The process started from chrome location C:\Program Files (x86)\Google\Chrome\Application\chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
      Stack Trace:
           at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
           at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
           at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
           at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
           at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeDriverService service, ChromeOptions options, TimeSpan commandTimeout)
           at OpenQA.Selenium.Chrome.ChromeDriver..ctor(String chromeDriverDirectory, ChromeOptions options, TimeSpan commandTimeout)
        TestLibrary\Setup.cs(56,0): at TestLibrary.Setup.LocalChromeDriver()
        TestLibrary\Pages\PageBase.cs(77,0): at TestLibrary.Pages.PageBase.InitializeDriverAndWait()
        TestLibrary\Pages\PageBase.cs(87,0): at TestLibrary.Pages.PageBase..ctor(Boolean navigateImmediately)
           at TestLibrary.Pages.LoginPage..ctor()
        TestLibrary\Actions.cs(33,0): at TestLibrary.Actions.Login(String username, String password)
        TestLibrary\Fixtures\AutoFixture.cs(34,0): at TestLibrary.Fixtures.AutoFixture.Login()
        TestLibrary\Fixtures\AutoFixture.cs(23,0): at TestLibrary.Fixtures.AutoFixture..ctor()
    TestLibrary.Tests.Test1 [FINISHED] Time: 0s
  Finished:    TestLibrary
...