Chromedriver d'erreur “version de Chrome doit être >= 52” à l'aide de Nightwatch
Je suis en train de configuration Nightwatch, et je suis en utilisant le dernière chromedriver qui dit qu'il prend en charge chrome v52-54. MAIS, lorsque j'essaie d'exécuter les tests, il dit 'Error: Chrome version must be >=52.0.2743.'
Voici tout ce que je suis en utilisant:
Structure De Projet
|-- nightwatch.json
|-- bin/
| |-- chromedriver
| |-- selenium-server-standalone-2.53.1.jar
|-- tests/
| |-- sample.js
|-- results/
|-- screens/
|-- node_modules/
| |-- (lots of modules here)
Et voici mon fichier de configuration pour nightwatch:
./nightwatch.json
{
"src_folders" : ["tests"],
"output_folder" : "results",
"custom_commands_path" : "",
"custom_assertions_path" : "",
"page_objects_path" : "",
"globals_path" : "",
"selenium" : {
"start_process" : true,
"server_path" : "bin/selenium-server-standalone-2.53.1.jar",
"log_path" : "results",
"host" : "127.0.0.1",
"port" : 4444,
"cli_args" : {
"webdriver.chrome.driver" : "bin/chromedriver"
}
},
"test_settings" : {
"default" : {
"launch_url" : "http://localhost",
"selenium_port" : 4444,
"selenium_host" : "localhost",
"silent": true,
"screenshots" : {
"enabled" : true,
"path" : "screens/"
},
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
},
"chrome" : {
"desiredCapabilities": {
"browserName": "chrome",
"javascriptEnabled": true,
"acceptSslCerts": true
}
}
}
}
De L'Exécution Des Tests
- Je exécuter les tests de ce genre:
nightwatch tests/
Erreur
Et j'obtiens le résultat suivant:
Starting selenium server... started - PID: 3500
[Sample] Test Suite
=======================
Running: Demo test Google
Error retrieving a new session from the selenium server
Connection refused! Is selenium server started?
{ sessionId: null,
status: 13,
state: 'unhandled error',
value:
{ message: 'unknown error: Chrome version must be >= 52.0.2743.0\n (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 3.2.0-56-generic x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 1.42 seconds\nBuild info: version: \'2.53.1\', revision: \'a36b8b1\', time: \'2016-06-30 17:37:03\'\nSystem info: host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.arch: \'amd64\', os.version: \'3.2.0-56-generic\', java.version: \'1.7.0_111\'\nDriver info: org.openqa.selenium.chrome.ChromeDriver',
suppressed: [],
localizedMessage: 'unknown error: Chrome version must be >= 52.0.2743.0\n (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 3.2.0-56-generic x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 1.42 seconds\nBuild info: version: \'2.53.1\', revision: \'a36b8b1\', time: \'2016-06-30 17:37:03\'\nSystem info: host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.arch: \'amd64\', os.version: \'3.2.0-56-generic\', java.version: \'1.7.0_111\'\nDriver info: org.openqa.selenium.chrome.ChromeDriver',
buildInformation:
{ releaseLabel: '2.53.1',
buildTime: '2016-06-30 17:37:03',
class: 'org.openqa.selenium.internal.BuildInfo',
buildRevision: 'a36b8b1',
hCode: 1900167016 },
cause: null,
systemInformation: 'System info: host: \'N/A\', ip: \'N/A\', os.name: \'Linux\', os.arch: \'amd64\', os.version: \'3.2.0-56-generic\', java.version: \'1.7.0_111\'',
supportUrl: null,
class: 'org.openqa.selenium.WebDriverException',
additionalInformation: '\nDriver info: org.openqa.selenium.chrome.ChromeDriver',
hCode: 1299270263,
screen: null },
class: 'org.openqa.selenium.remote.Response',
hCode: 1144687147 }
Quelqu'un sait comment résoudre cette erreur?
Chrome version must be >= 52.0.2743.0
Ne chromedriver utiliser ma copie locale de chrome? Ai-je besoin de mettre à jour mon chrome?
Oui, chromedriver n'utilisez votre copie locale de Chrome. Quelle version utilisez-vous?
OriginalL'auteur Katie S | 2016-09-17
Vous devez vous connecter pour publier un commentaire.
Oui,
ChromeDriver
est un fichier exécutable qui selenium webdriver utilise pour contrôler google chrome.Donc selenium webdriver lancer vos installé google chrome à partir de votre emplacement par défaut ou personnalisé emplacement qui vous diront selenium webdriver lors de l'initialisation du
ChromeDriver
.Donc, fondamentalement,
ChromeDriver
exécutable suffit d'utiliser le dialogue entre le navigateur google chrome et selenium webdriver pour contrôler ce qui ne signifie pas qu'il lance son propre navigateur chrome. Il utilise installées sur votre navigateur google chrome.Donc, oui, vous avez besoin de mettre à jour votre réelle installé chrome.
quelle est la version de chromedriver utilisez-vous?? Et quelle erreur avez-vous??
Par "ChromeDriver" il n'est pas en se référant à votre Chrome navigateur. Le ChromeDriver est le code qui Rapporteur utilise pour contrôler google Chrome pour l'exécution de vos tests (en fait, il crée un petit serveur de dev pour charger votre site sur pour le tester). Voir sites.google.com/a/chromium.org/chromedriver/downloads
OriginalL'auteur Saurabh Gaur
Oui, ChromeDriver utilise votre local Chrome installation. Dans le cas où vous préférez ne pas mettre à jour google Chrome installation, vous pouvez spécifier une version de ChromeDriver qui fonctionne avec le installé la version Chrome.
Vous pouvez trouver le compatible Chrome versions pour différents ChromeDriver communiqués à https://chromedriver.storage.googleapis.com/2.25/notes.txt (changement "2.25" vers une version plus récente si votre version de Chrome est plus récente que ce qui y figure).
Si votre framework de test utilise la Node.js
webdriver-manager
, vous pouvez simplement installer le nécessaire ChromeDriver version (en gardant tout est déjà installé les versions) à l'aide (par exemple, pour la version2.20
):et préciser le ChromeDriver version lors du démarrage de Sélénium par
webdriver-manager
:Si
webdriver-manager
n'est pas disponible, vous pouvez simplement télécharger le ChromeDriver version et utiliser une technique pour passer au paramètre suivant pour le Sélénium serveur de commande de démarrage:In case you prefer not to upgrade your Chrome installation
-- ou en cas de manque de droits d'administration pour la mise à niveau de Chrome! Cette réponse m'a sauvé des heures de douleur. Merci!OriginalL'auteur Janaka Bandara
Si vous utilisez Ubuntu 16.04 ce code fonctionne:
x64
x32
Installer/Mettre À Jour
Source
OriginalL'auteur tmmgarcia