Questo problema si verifica spesso quando si esegue ChromeDriver o Chrome utilizzando un sistema di test speciale (ad esempio un IDE) o un sistema di build continua (come Jenkins).
Innanzitutto, prova ad avviare lo stesso programma binario di Chrome utilizzato dal test da un normale prompt dei comandi dell'utente (controlla il file chromedriver.log
per sapere quale Chrome viene utilizzato). Se passi argomenti o opzioni della riga di comando speciali a Chrome, assicurati di includere anche questi. Se Chrome non si avvia correttamente,
devi correggere l'installazione di Chrome (ad esempio reinstallarlo).
Supponendo che tu possa eseguire Chrome da un prompt dei comandi, il passaggio successivo è vedere se lo stesso problema si verifica quando esegui il test in un ambiente di test (preferibilmente avviando il programma binario o lo script di test direttamente dal prompt dei comandi di un normale utente). Controlla anche di essere in grado di avviare Chrome direttamente dal tuo test (senza utilizzare WebDriver/ChromeDriver). Ad esempio, in Java, puoi utilizzare l'API ProcessBuilder per avviare direttamente il programma binario di Chrome. Se il test presenta lo stesso problema anche in un ambiente di test, invia un nuovo problema con le istruzioni su come riprodurre il problema.
In caso contrario, se il problema si verifica solo nel tuo ambiente di test speciale:
Utilizzi il programma di installazione alternativo di Chrome. Chrome viene installato per tutti gli utenti. Spesso questo risolve i problemi se esegui Selenium come servizio in background.
Una causa comune dell'arresto anomalo di Chrome durante l'avvio è l'esecuzione di Chrome come utente root (amministratore) su Linux. Sebbene sia possibile risolvere questo problema
passando il flag --no-sandbox
durante la creazione della sessione WebDriver, questa configurazione
non è supportata e altamente sconsigliata. Configura il tuo ambiente per eseguire Chrome come utente normale.
Se nessuna di queste soluzioni risolve il problema, invia un nuovo problema con le istruzioni per riprodurlo. Se il problema si verifica solo in un ambiente di test speciale e insolito, tieni presente che gli sviluppatori di ChromeDriver potrebbero decidere di non esaminare/risolvere il problema.