Это часто происходит при запуске ChromeDriver или Chrome с использованием специального тестового оборудования (возможно, IDE) или системы непрерывной сборки (например, Jenkins).
Сначала попробуйте запустить тот же двоичный файл Chrome, который используется в вашем тесте, из командной строки обычного пользователя (проверьте файл chromedriver.log
, чтобы узнать, какой Chrome используется). Если вы передаете Chrome какие-либо специальные ключи или аргументы командной строки, обязательно включите и их. Если Chrome не запускается правильно, вам необходимо исправить установку Chrome (возможно, путем переустановки).
Предполагая, что вы можете запустить Chrome из командной строки, вашим следующим шагом будет проверка, возникает ли та же проблема при запуске теста в среде тестирования (предпочтительно запускать тестовый двоичный файл или скрипт непосредственно из командной строки обычного пользователя). Вам также следует убедиться, что вы можете запустить Chrome непосредственно из теста (без использования WebDriver/ChromeDriver). Например, в Java вы можете использовать API ProcessBuilder для непосредственного запуска двоичного файла Chrome. Если ваш тест обнаруживает ту же проблему даже в среде тестирования, отправьте новую проблему с инструкциями о том, как воспроизвести проблему.
В противном случае, если проблема возникает только в вашей специальной среде тестирования:
Использование альтернативного установщика Chrome. При этом Chrome будет установлен для всех пользователей. Это часто решает проблемы, если вы используете Selenium в качестве фоновой службы.
Распространенной причиной сбоя Chrome во время запуска является запуск Chrome от имени пользователя root (администратора) в Linux. Хотя эту проблему можно обойти, передав флаг --no-sandbox
при создании сеанса WebDriver, такая конфигурация не поддерживается и крайне не рекомендуется. Настройте свою среду для запуска Chrome от имени обычного пользователя.
Если ни одно из этих решений не помогло устранить проблему, создайте новую проблему с инструкциями по ее воспроизведению. Если ваша проблема возникает только в специальной, необычной среде тестирования, имейте в виду, что разработчики ChromeDriver могут отказаться от исследования/решения вашей проблемы.