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