web-dev-qa-db-fra.com

Erreur de serveur Selenium: impossible de créer un nouveau service chromedriverservice

J'essaie d'exécuter webdriverio sur mon ordinateur Windows 10 et je rencontre toujours le même problème lorsque j'essaie d'exécuter mon fichier test js. Donc, je lance ce -jar /your/download/directory/Selenium-server-standalone-3.5.3.jar pour démarrer le serveur et qui sort avec cette sortie 

13:06:19.471 INFO - Selenium build info: version: '3.5.3', revision: 'a88d25fe6b'
13:06:19.472 INFO - Launching a standalone Selenium Server
2018-02-16 13:06:19.503:INFO::main: Logging initialized @301ms to org.seleniumhq.jetty9.util.log.StdErrLog
13:06:19.564 INFO - Driver class not found: com.opera.core.systems.OperaDriver
13:06:19.600 INFO - Driver provider class org.openqa.Selenium.safari.SafariDriver registration is skipped:
 registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform WIN10
13:06:19.640 INFO - Using the passthrough mode handler
2018-02-16 13:06:19.673:INFO:osjs.Server:main: jetty-9.4.5.v20170502
2018-02-16 13:06:19.697:WARN:osjs.SecurityHandler:main: [email protected]@3e9b1010{/,null,STARTING} has uncovered http methods for path: /
2018-02-16 13:06:19.703:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@3e9b1010{/,null,AVAILABLE}
2018-02-16 13:06:19.807:INFO:osjs.AbstractConnector:main: Started ServerConnector@4e7dc304{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}
2018-02-16 13:06:19.808:INFO:osjs.Server:main: Started @605ms
13:06:19.808 INFO - Selenium Server is up and running

Donc, après cela, j'ai ouvert une nouvelle invite de ligne de commande et exécuté mon fichier test.js qui ressemble à ceci 

var webdriverio = require('webdriverio');
var options = {
    desiredCapabilities: {
        browserName: 'chrome'
    }
};

webdriverio
    .remote(options)
    .init()
    .url('http://www.google.com')
    .getTitle().then(function(title) {
        console.log('Title was: ' + title);
    })
    .end()
    .catch(function(err) {
        console.log(err);
    });

Et c'est l'erreur que je reçois

{ Error: A new session could not be created.
    at end() - C:\Users\KenyaThompson\Desktop\test.js:16:6
  details: undefined,
  message: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: Host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.Arch: \'AMD64\', os.version: \'10.0\', Java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown',
  type: 'RuntimeError',
  seleniumStack:
   { type: 'SessionNotCreatedException',
     message: 'A new session could not be created.',
     orgStatusMessage: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: Host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.Arch: \'AMD64\', os.version: \'10.0\', Java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown' } }

Quelqu'un pourrait-il m'expliquer ce que je fais mal ici? De plus, oui, j'ai déjà installé chromedriver via npm et le service wdio-chromedriver.

4
Planet_Man

L'erreur que vous constatez nous donne un indice sur ce qui ne va pas comme suit:

   { type: 'SessionNotCreatedException',
     message: 'A new session could not be created.',
     orgStatusMessage: 'Unable to create new service: ChromeDriverService\nBuild info: version: \'3.5.3\', revision: \'a88d25fe6b\', time: \'2017-08-29T12:54:15.039Z\'\nSystem info: Host: \'LAPTOP-9GIHGJ9I\', ip: \'10.0.0.243\', os.name: \'Windows 10\', os.Arch: \'AMD64\', os.version: \'10.0\', Java.version: \'1.8.0_161\'\nDriver info: driver.version: unknown' }

Le message d'erreur indique clairement que le ChromeDriver n'est pas détecté car le message de journalisation s'affiche sous la forme Informations sur le pilote: driver.version: unknown. La principale raison de cette erreur peut être l'incompatibilité entre les fichiers binaires que vous utilisez.

  • La version de votre Selenium Client est 3.5.3 publiée 2017-08-29T12: 54: 15.039Z.
  • Votre version de ChromeDriver est inconnue pour nous.
  • Votre version de Chrome Browser est inconnue pour nous.

Solution

Une solution rapide consisterait à:

  • Mise à jour version du client Selenium aux niveaux récents, c'est-à-dire Selenium 3.9.1
  • Mettre à jour version de ChromeDriver aux niveaux récents, c'est-à-dire ChromeDriver 2.35
  • Selon les Notes de publication de ChromeDriver v2.35 , mettez à jour la version de Chrome Browser en v62-64
  • Exécutez CCleaner tool pour effacer les tâches du système d’exploitation avant et après l’exécution de votre Test Suite
  • Si votre version de base de Chrome Browser est ancienne, désinstallez Chrome Browser via Revo Uninstaller et installez une version récente GA de Chrome Browser.
  • Exécutez votre Test.
4
DebanjanB

Mettez à jour votre version de ChromeDriver via webdriver-manager, comme suit:

webdriver-manager clean
webdriver-manager update
webdriver-manager start

Cela supprime l'ancienne version, met à jour avec la dernière version indiquée dans votre configuration intégrée et redémarre le serveur. J'espère que cela t'aides.

3
Kyle Kohler

Selenium Standalone Server est actuellement sur Build 3.9.1.

Il semble que vous utilisiez une version plus ancienne du serveur autonome. Peut-être que la version de ChromeDriver que vous exécutez fonctionnera mieux avec une mise à jour de votre serveur autonome Selenium?

http://www.seleniumhq.org/download/

Aussi, juste pour être sûr ... Vous avez la dernière version de la version Windows Chrome Driver? Ils sont sur 2.35 pour le dernier . https://chromedriver.storage.googleapis.com/index.html?path=2.35/

0
Denzik