32 votes

"Runtime.executionContextCreated a une erreur 'contexte invalide' lorsque je lance Protractor"

Je reçois cette erreur ci-dessous alors que j'exécute mon protractor. Et ci-dessous est l'erreur telle qu'elle apparaît dans ma console webstorm.

"C:\Program Files (x86)\JetBrains\WebStorm 2016.2\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\built\cli.js C:\Users\x216526\workspace_Protractor\SWA_Protractor\conf.js [17:59:58] I/direct - Using ChromeDriver directly... [17:59:58] I/launcher - Running 1 instances of WebDriver [18:00:01] E/launcher - session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"9784.1","isDefault":true},"id":1,"name":"","origin":"://"} (Session info: chrome=54.0.2824.0) (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.1.7601 SP1 x86_64) [18:00:01] E/launcher - SessionNotCreatedError: session not created exception from unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"9784.1","isDefault":true},"id":1,"name":"","origin":"://"} (Session info: chrome=54.0.2824.0) (Driver info: chromedriver=2.22.397933 (1cab651507b88dec79b2b2a22d1943c01833cc1b),platform=Windows NT 6.1.7601 SP1 x86_64) at WebDriverError (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:26:26) at SessionNotCreatedError (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:307:26) at Object.checkLegacyResponse (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\error.js:639:15) at parseHttpResponse (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\http\index.js:538:13) at c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\http\index.js:472:11 at ManagedPromise.invokeCallback_ (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1379:14) at TaskQueue.execute_ (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2913:14) at TaskQueue.executeNext_ (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2896:21) at c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2820:25 at c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:639:7 From: Task: WebDriver.createSession() at Function.createSession (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver.js:329:24) at Driver (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\chrome.js:778:38) at Direct.getNewDriver (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\built\driverProviders\direct.js:68:26) at Runner.createBrowser (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\built\runner.js:187:43) at c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\built\runner.js:261:30 at _fulfilled (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:834:54) at self.promiseDispatch.done (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:863:30) at Promise.promise.promiseDispatch (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:796:13) at c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:556:49 at runSingle (c:\Users\x216526\AppData\Roaming\npm\node_modules\protractor\node_modules\q\q.js:137:13) [18:00:01] E/launcher - "process.on('uncaughtException'" error, see launcher [18:00:01] E/launcher - Process exited with error code 199 Process finished with exit code 199

Mon fichier de configuration js ressemble à ceci :

     exports.config = { 
          directConnect: true, // Capacités à transmettre
          //à l'instance du webdriver. 
         capabilities: { 'browserName': 'chrome', },
         framework: 'jasmine2',
         specs: ['./src/sli_sanitytests/San1_Check_
                        Sli_Homepage_is_Accessible_spec.js',
                 './src/sli_sanitytests/San2_
                  Click_createButton_to_Open_Sli_CreateForm_page_spec.js',
                 './src/sli_sanitytests/San3_
                  Create_Sli_reference_spec.js' ], 
               suites: { 
                         smoke: ['./smoke/!*.spec.js'],
                         regression:['./regression/!*.spec.js'],
                         functional: ['./functional/!*.spec.js'],
                         all: ['./!*!/!*.spec.js'],
                         selected:['./functional/addcustomer.spec.js',
                                    './regression/openaccount.spec.js'],
                         },
                       // Options à passer à Jasmine
                  jasmineNodeOpts: {
                 //onComplete sera appelé juste avant la fermeture du driver.                                
                  onComplete: null, 
                 // Si true, affiche les noms des spécifications. 
                 isVerbose: true, // Si vrai, imprime les couleurs dans le terminal. 
                 showColors: true, // Si vrai, inclure les traces de pile en       
                                   //cas d'échec. 
                 includeStackTrace: true, // Délai par défaut en ms  
                                         //avant qu'un test échoue.  
                 defaultTimeoutInterval: 80000 
                             },
                //enter code here 
               onPrepare:function() { 
                   browser.ignoreSynchronization = true;
                   browser.driver.manage().window().maximize(); 
               },
             }

0 votes

Quelle version de protractor utilisez-vous? il semble que vous obteniez une exception non capturée qui peut être due à diverses raisons!

0 votes

En espérant que cela aide quelqu'un d'autre... J'ai rencontré le même problème que l'auteur du post après une mise à jour de Windows sur ma machine. Il s'avère que réinstaller Protractor a résolu le problème. c'est-à-dire, exécutez d'abord npm install protractor -g, puis webdriver-manager update pour mettre à jour le pilote chrome.

40voto

Sean Points 1123

2016-10-13: ChromeDriver v2.24 a été publié qui prend en charge Chrome v52-54. (Merci @Anton)


2016-08-16: Une des mises à jour récentes du canal Chrome Dev a introduit un bug empêchant ChromeDriver de démarrer correctement. Ayant récemment résolu le même problème, je recommanderais de sauvegarder vos données et de revenir au canal de diffusion Beta ou Stable de Chrome. Voir les Canaux de sortie de Chrome pour plus de détails sur le passage en toute sécurité.

Alternativement, passer à la version Dev de ChromeDriver devrait également résoudre le problème. D'après un problème clos sur le projet chromedriver:

Il y a quelques changements de Devtool dans le canal dev de Chrome v54 qui ne sont pas actuellement pris en charge dans Chromedriver stable v2.23. Vous voudrez peut-être utiliser la version dev de Chromedriver qui a la correction. Elle peut être téléchargée depuis chromedriver…/continuous/….zip

Consultez le problème pour le lien complet.

14voto

Jlearner Points 379

Si le dernier protractor n'a pas le dernier chromedriver, il faut le mettre à jour en utilisant webdriver-manager en suivant les étapes ci-dessous

entrez la dernière version de chromedriver dans le fichier config.json, ce fichier se trouve sous le chemin / node_modules / protractor / node_modules / webdriver-manager / built

optionnel (et changez 'mac32' en 'mac64' dans le fichier 'chrome_driver.js' qui se trouve sous le chemin / webdriver-manager / built / lib / binaries)

exécutez webdriver-manager update dans la console.

astuce: Pour obtenir le chemin du dossier 'webdriver-manager', observez la console après la commande webdriver-manager update

0 votes

C'est la solution la plus simple, aujourd'hui en 2016, pour ce problème récurrent avec les mises à jour de Chrome.

0 votes

Je n'ai pas eu à changer la chose mac32 en mac64. J'ai juste mis à jour la version en 2.25 (dernière version au 25 octobre 2016) et j'ai exécuté webdriver-manager update.

6voto

Cebe Points 439

Depuis que j'ai eu le même problème et trouvé cette question, j'aimerais ajouter un peu plus de contexte: il s'agit en effet d'un problème de version entre un 'ancien' pilote Chrome (2.22 dans mon cas) et une version 'plus récente' de Chrome (54 dans mon cas) comme l'a mentionné Sean.

Cependant, il n'est pas nécessaire de bidouiller manuellement avec des fichiers de configuration ou des téléchargements.

Au lieu de cela, exécutez simplement

npm update protractor -g

Pour mettre à jour protractor de manière globale, puis

webdriver-manager update

Pour mettre à jour le pilote Chrome. Le nouveau pilote Chrome v2.25 n'est pas encore inclus dans le package protractor au moment de l'écriture (vous obtiendrez la version 2.24 à la place), mais il fonctionne bien avec Chrome 54. Protractor est en version 4.09 au moment de l'écriture. Le même truc devrait fonctionner pour les versions futures aussi!

0 votes

Merci Cebe, votre solution a fonctionné pour moi. Je mettrais également à jour protractor localement, car vos fichiers de code interne utiliseront celui local avec "npm install protractor --save-dev"; le drapeau "--save-dev" le mettra à jour dans le fichier package.json.

0 votes

Vous avez raison, même si cela dépend de votre configuration :-) Dans la question (et dans mon cas), une instance globale de protractor est utilisée. Nous pouvons le voir en regardant le chemin ...\AppData\Roaming\npm\node_modules\...

2voto

Balaji Singh .Y Points 192

Après une grande bataille avec le problème ci-dessus, j'ai trouvé la solution. Donc s'il vous plaît ne faites rien.

Tout d'abord, désinstallez votre navigateur Chrome et réinstallez-le. C'est tout, Protractor ne lancera plus ces erreurs.

Je ne sais même pas pourquoi cela s'est produit et pour quelles raisons cela semble un peu étrange, mais oui la seule solution est de désinstaller le navigateur Chrome et de le réinstaller.

npm uninstall webdriver-manager -g npm install webdriver-manager -g

1voto

J'ai le même problème avec la version 2.24. Pour corriger ce bug, téléchargez chromedriver.exe avec la version 2.25, il est maintenant disponible via le lien https://sites.google.com/a/chromium.org/chromedriver/downloads

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X