erreur inconnue: Chrome n'a pas pu démarrer: sorti anormalement (Pilote info: chromedriver=2.9
Je suis en train de lancer le Sélénium tests sur Debian 7 mais sans succès.
L'erreur est:
unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.9.248316,platform=Linux 3.2.0-4-686-pae x86) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 60.55 seconds Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17' System info: os.name: 'Linux', os.arch: 'i386', os.version: '3.2.0-4-686-pae', java.version: '1.7.0_25' Driver info: org.openqa.selenium.chrome.ChromeDriver
J'ai chromedriver 29 avec chrome 34.0.1847.76 bêta en cours d'exécution sur Debian 7 32 bits. Je suis à l'aide de sélénium-java 2.33.0
La suite de cette lien, chromedriver 29 est la bonne version pour chrome 34. Et de toute façon, les versions antérieures ne fonctionnent pas sur Debian 7 en raison de la glibc ...
----------ChromeDriver v2.9 (2014-01-31)---------- Prend en charge Chrome v31-34
[jour 1]
J'ai essayé avec les deux java 7 et java 6, toujours le même problème. Peut-être que je devrais essayer avec java 8 ^^
[mise à jour 2]
Je suis à l'aide de cette commande pour tester le chrome pilote, assurez-vous que n'est pas un problème avec jenkins:
curl-X d'après-H "Content-Type: application/json; charset=utf-8" -d "{\"desiredCapabilities\":{\"platform\":\"ANY\",\"browserName\":\"chrome\",\"chromeOptions\":{\"args\":[],\"extensions\":[]},\"version\":\"\",\"chrome.switches\":[]}}" localhost:12495/session
J'obtiens le même message d'erreur:
{"sessionId":"210f3f837a798ee68cd91f089976d0c2","statut":13,"value":{"message":"une erreur inconnue: Chrome n'a pas pu démarrer: sorti anormalement\n (Pilote info: chromedriver=2.9.248316,=plate-forme Linux 3.2.0-4-686-pae x86)"}}
De toute aide pour savoir ce qui se passe serait appréciée.
Grâce
- Toute personne capable de s'exécuter en non-headless mode de jenkins
Vous devez vous connecter pour publier un commentaire.
J'ai enfin réussi à obtenir le Sélénium tests de commencer le Chrome Pilote sur mon ordinateur portable (serveur).
L'important est d'utiliser
Xvfb
. Ne me demandez pas pourquoi, mais une fois que vous acceptez ce fait, suivez ces étapes (plus détaillé que @Anon réponse)En vous Jenkins paramètres d'ajouter une propriété globale
Sur votre serveur de démarrer
Xvfb
en arrière-plan:value:0:0
ouvalue: :0
?Êtes-vous en passant le paramètre d'AFFICHAGE de votre Jenkins travail?
Je suppose que vous essayez d'exécuter les tests dans headless mode, aussi. Donc l'installation de certains x service (c'est à dire Xvfb) et de transmettre le numéro de l'ÉCRAN de votre travail. A travaillé pour moi.
J'ai essayé de diriger le sélénium sur Jenkins avec Moka cadre à l'aide d'wdio. Donc voici les étapes pour résoudre ce problème:-
Installer google chrome
Installer chrome-pilote
Exécuter les commandes suivantes pour démarrer le sélénium serveur web
Après ce début des tests avec wdio commande
Le Mike R solution qui fonctionne pour moi. C'est le jeu complet de commandes:
Plus tard, vous pouvez exécutez google chrome:
Ou démarrer google chrome via le sélénium pilote (par exemple):
Rapporteur.fichier conf:
Nous avons eu le même problème lors de la tentative de lancement de Sélénium tests de Jenkins. J'avais sélectionné " leCommencer Xvfb avant de le construire, et l'arrêter après' et transmis dans les options de l'écran, mais j'ai toujours cette erreur.
Enfin, elle a travaillé quand nous sommes passés dans les commandes suivantes dans l'Exécution du Shell case.
Xvfb :99 -ac -screen 0 1280x1024x24 &
nice -n 10 x11vnc 2>&1 &
...
killall Xvfb
Passant no-sandbox exec semble important de jenkins sur windows au premier plan ou en tant que service. Voici ma solution
chromedriver échoue sur windows jenkins esclave exécution en arrière plan
no-sandbox
lors de l'utilisation de chrome dans un conteneur docker dans headless mode (sélénium, le webdriver 3 & Ruby on Rails).Je suis en cours d'exécution d'une configuration similaire: le Sélénium 3.40, Chrome 61, chromedriver 2.33 en cours d'exécution avec xvfb sur ubuntu 16.04.
J'ai fait le même Chrome erreur par intermittence. Il semble que, parfois, la chromedriver ne parvient pas à nettoyer les fichiers temporaires associés avec le profil google Chrome.
Une solution de contournement pour moi, c'est de nettoyer les fichiers temporaires avant l'exécution des tests:
J'espère que cela sera résolu dans les prochaines versions de chromedriver, mais pour l'instant cela résout le problème dans mon cas.
Je me bats avec ce problème pendant une longue période, et tout y fête j'ai trouver comment faire, elle a disparu et aujourd'hui, je peux exécuter un 50 threads du processus de l'appel de sélénium sans vu ce problème de plus et aussi arrêter de s'écraser sur ma machine outofmemory problème avec trop d'ouvrir chromedriver processus.
ces 4 éléments sont à la base de tout le monde savez déjà, vient maintenant le code, là où tout a fait beaucoup de différence pour atteindre le succès:
}
Bonne chance et j'espère que vous ne voyez pas que le problème de plantage plus
S'il vous plaît commentaire votre succès
Cordialement,
De l'exportation de la
DISPLAY
variable est certainement la solution, mais en fonction de votre configuration, vous pouvez avoir à le faire de manière un peu différente.Dans mon cas, j'ai deux processus différents: la première commence Xvfb, de l'autre on lance les tests. Donc mon script shell de connaissances est un peu rouillé, mais j'ai pensé que l'exportation de la
DISPLAY
variable à partir du premier processus n'est pas disponible dans le second processus.Heureusement, Selenium WebDriver vous permettent de "redéfinir" votre environnement.
C'est ma fonction pour la création d'un pilote pour Chrome en JS. Assez sûr que l'équivalent existe pour votre langage de programmation:
J'avais similaire de problème avec maven tests sur x86 linux qui j'ai été en utilisant dans le terminal.
J'ai été la journalisation à linux par ssh.
J'ai commencé mon java sélénium tests par
À l'exception de mon application, après l'exécution de ces tests, j'ai reçu le message d'erreur dans les logs:
J'ai été l'exécution de ces tests en tant qu'utilisateur root.
Avant cette erreur que j'ai reçu que ChromeDriver est ni présent. Je mis de l'avant par l'installation de ChromeDriver binaire et de l'ajouter au PATH. Mais ensuite, j'ai dû installer google chrome navigateur ChromeDriver seul n'est pas suffisant pour exécuter les tests.
Donc l'erreur est le problème, peut-être avec du tampon d'écran dans la fenêtre du terminal, mais Vous pouvez installer Xvfb qui est virtuel à l'écran de la mémoire tampon. Ce qui est important, que vous devez exécuter vos tests pas en tant que root, parce que vous pouvez recevoir un autre Navigateur Chrome erreur.
Donc pas en tant que root, je run:
Ce qui est important ici, que dans mon cas, le numéro de l'AFFICHAGE doit être même que Xvfb :NN paramètre. 99 dans ce cas.
J'ai eu un autre problème, car j'ai couru Xvfb avec une autre valeur d'AFFICHAGE et je voulais qu'il arrête. Afin de relancer l'Xvfb:
Afin de trouver un processus de PID avec grep. Tuer Xvfb processus. Et puis il y a de verrouillage dans /tmp/.X11-unix/XNN , donc supprimer ce verrou et vous pouvez démarrer le serveur à nouveau.
Si Vous exécutez pas en tant que root, ensemble similaire de l'affiche, installez google chrome puis avec maven, vous pouvez commencer le sélénium tests. Mes tests s'est bien passé avec ces règles et les opérations.
Ne sais pas si c'est l'arrêt de tout le monde, mais j'ai résolu ce problème par la mise à niveau de chromedriver et de veiller ensuite à ce qu'il était dans un endroit que mon utilisateur peut lire à partir de (il semble que beaucoup de personnes rencontrent ce sont de le voir pour l'autorisation des raisons comme moi).
Sur Ubuntu 16.04:
1. Télécharger chromedriver (version 2.37 pour moi)
2. Décompressez le fichier
3. Installer quelque part raisonnable (j'ai choisi le répertoire /usr/local/bin/chromedriver)
N'a même pas besoin d'être propriétaire de mon utilisateur, tant que c'est dans l'ensemble de l'exécutable (
sudo chmod +x /usr/local/bin/chromedriver
)