Dies geschieht häufig, wenn ChromeDriver oder Chrome mit einem speziellen Test-Harnisch (z. B. einer IDE) oder einem kontinuierlichen Build-System (z. B. Jenkins) ausgeführt wird.
Starten Sie zuerst dasselbe Chrome-Binärprogramm, das Ihr Test verwendet, über eine normale Nutzer-Eingabeaufforderung. In der Datei chromedriver.log
sehen Sie, was Chrome verwendet wird. Wenn Sie spezielle Befehlszeilen-Switches oder -Argumente an Chrome übergeben, geben Sie diese ebenfalls an. Wenn Chrome nicht ordnungsgemäß startet, müssen Sie die Installation von Chrome korrigieren (z. B. durch eine Neuinstallation).
Wenn Sie Chrome über eine Eingabeaufforderung ausführen können, sollten Sie als Nächstes prüfen, ob das Problem auch beim Ausführen des Tests in einer Testumgebung auftritt. Starten Sie die Testbinärdatei oder das Testskript vorzugsweise direkt über die Eingabeaufforderung eines normalen Nutzers. Sie sollten auch prüfen, ob Sie Chrome direkt aus Ihrem Test heraus starten können, ohne WebDriver/ChromeDriver zu verwenden. In Java können Sie beispielsweise die ProcessBuilder API verwenden, um die Chrome-Binärdatei direkt zu starten. Wenn bei Ihrem Test das gleiche Problem auch in einer Testumgebung auftritt, melden Sie ein neues Problem mit einer Anleitung, wie das Problem reproduziert werden kann.
Wenn das Problem nur in Ihrer speziellen Testumgebung auftritt, gehen Sie so vor:
Alternatives Installationsprogramm von Chrome verwenden Dadurch wird Chrome für alle Nutzer installiert. Dadurch werden häufig Probleme behoben, wenn Sie Selenium als Hintergrunddienst ausführen.
Ein häufiger Grund für den Absturz von Chrome beim Start ist die Ausführung von Chrome als Root-Nutzer (Administrator) unter Linux. Sie können dieses Problem umgehen, indem Sie beim Erstellen Ihrer WebDriver-Sitzung das Flag --no-sandbox
übergeben. Eine solche Konfiguration wird jedoch nicht unterstützt und wird dringend empfohlen. Konfigurieren Sie Ihre Umgebung so, dass Chrome stattdessen als regulärer Nutzer ausgeführt wird.
Wenn das Problem durch keine dieser Lösungen behoben werden kann, melden Sie ein neues Problem mit einer Anleitung, wie es reproduziert werden kann. Wenn das Problem nur in einer speziellen, ungewöhnlichen Testumgebung auftritt, kann es sein, dass die ChromeDriver-Entwickler Ihr Problem nicht untersuchen/beheben.