Cela se produit souvent lors de l'exécution de ChromeDriver ou de Chrome à l'aide d'un harc de test spécial (par exemple, un IDE) ou d'un système de compilation continue (comme Jenkins).
Tout d'abord, essayez de lancer le même binaire Chrome que celui utilisé par votre test à partir d'une invite de commande utilisateur normale (consultez le fichier chromedriver.log
pour voir quel Chrome est utilisé). Si vous transmettez des commutateurs de ligne de commande ou des arguments spéciaux à Chrome, veillez à les inclure également. Si Chrome ne démarre pas correctement, vous devez corriger votre installation (éventuellement en la réinstallant).
En supposant que vous puissiez exécuter Chrome à partir d'une invite de commande, la prochaine étape consistera à vérifier si le même problème se produit lors de l'exécution du test dans un environnement de test (de préférence en lançant le script ou le binaire de test directement à partir de l'invite de commande d'un utilisateur normal). Vous devez également vérifier que vous pouvez lancer Chrome directement depuis votre test (sans utiliser WebDriver/ChromeDriver). Par exemple, en Java, vous pouvez utiliser l'API ProcessBuilder pour démarrer directement le binaire Chrome. Si votre test présente le même problème même dans un environnement de test, signalez un nouveau problème en indiquant comment le reproduire.
Si le problème ne se produit que dans votre environnement de test spécial:
À l'aide du programme d'installation alternatif de Chrome. Chrome est alors installé pour tous les utilisateurs. Cela résout souvent les problèmes si vous exécutez Selenium en tant que service d'arrière-plan.
L'exécution de Chrome en tant qu'utilisateur racine (administrateur) sous Linux est une cause fréquente de plantage de Chrome au démarrage. Bien qu'il soit possible de contourner ce problème en transmettant l'indicateur --no-sandbox
lors de la création de votre session WebDriver, une telle configuration n'est pas compatible et est vivement déconseillée. Configurez votre environnement pour qu'il exécute Chrome en tant qu'utilisateur standard.
Si aucune de ces solutions ne résout le problème, signalez un nouveau problème en indiquant comment le reproduire. Si votre problème ne survient que dans un environnement de test spécial et peu courant, sachez que les développeurs ChromeDriver peuvent choisir de ne pas l'examiner ni le résoudre.