J'ai essayé d'exécuter mes tests en utilisant karma-chrome-launcher, mais chaque fois que je lance mes tests, l'erreur suivante est générée:
INFO [lanceur]: démarrage du navigateur Chrome ERREUR [lanceur]: impossible de démarrer Chrome
INFO [launcher]: Trying to start Chrome again (1/2).
ERROR [launcher]: Cannot start Chrome
INFO [launcher]: Trying to start Chrome again (2/2).
ERROR [launcher]: Cannot start Chrome
ERROR [launcher]: Chrome failed 2 times (cannot start). Giving up.
Voici mon code karma.conf.js:
// Karma configuration
// Generated on Mon Mar 23 2015 14:04:19 GMT-0300 (BRT)
module.exports = function(config) {
config.set({
// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: 'www',
// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['jasmine'],
// list of files / patterns to load in the browser
files: [
'lib/ionic/js/angular/angular.js',
'lib/ionic/js/angular/angular-animate.js',
'lib/ionic/js/angular/angular-sanitize.js',
'../node_modules/jasmine-core/lib/jasmine-core/jasmine.js',
'../node_modules/mock-local-storage/lib/mock-localstorage.js',
'../node_modules/angular-mocks/angular-mocks.js',
//'../node_modules/requirejs/require.js',
'lib/ionic/js/angular/angular-resource.js',
'lib/ionic/js/angular-ui/angular-ui-router.js',
'lib/ionic/js/ionic.js',
'lib/ionic/js/ionic-angular.js',
/*'../tests/libs/ngCordovaMocks.min.js',*/
'js/lib/ng-cordova.min.js',
'js/*.js',
'js/controllers/*.js',
'js/services/*.js',
'js/factory/*.js',
//'../tests/*.js',
'../tests/**/*.js'
],
// list of files to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
},
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress', 'html'],
htmlReporter: {
outputFile: '../tests/report/index.html'
},
// web server port
port: 9876,
plugins : [
'karma-junit-reporter',
'karma-jasmine',
'karma-phantomjs-launcher',
'karma-chrome-launcher'
//'karma-htmlfile-reporter'
],
// enable / disable colors in the output (reporters and logs)
colors: true,
// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['PhantomJS'],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false
});
};
J'installe le module ici: https://www.npmjs.com/package/karma-chrome-launcher
Merci!
J'ai eu le même problème et essayé beaucoup des solutions suggérées que j'ai trouvées, mais ce qui a finalement été résolu pour moi a été de supprimer le dossier node_modules et d'obtenir toutes les nouveautés via l'installation de npm.
Avait le même problème avec mon environnement de construction.
Ce que j'ai fait est de suivre les conseils de Rafael Cichocki pour permettre le débogage:
logLevel: config.LOG_DEBUG
Puis essayé de lancer le navigateur Chrome avec exactement la même ligne qui était visible dans la sortie de débogage.
Il s'est avéré que le navigateur Chrome se bloquait en raison de polices ttf manquantes. Alors en cours d'exécution:
apt-get install ttf-freefont
Ce problème a été résolu pour moi et le karma a commencé à lancer Chrome.
J'ai remarqué, lorsque j'ai eu cette erreur, que lorsque j'ai modifié le fichier de spécifications et que je l'ai enregistré, cela a semblé fonctionner à nouveau. J'ai eu quelques erreurs dans TypeScript qui n'ont pas interrompu les tests (transmission d'arguments nuls à un constructeur d'instance de composant virtuel). Je ne sais pas si cela résolvait les erreurs, car elles existaient auparavant, ou si changer le fichier et le sauvegarder a mis à jour le cache.
Cela pourrait donc signifier que la suppression du cache dans Chrome pourrait également le résoudre. Cela fonctionne à nouveau pour moi alors je ne peux pas vérifier pour vérifier.
La solution pour nous avec cli angulaire définissait les propriétés suivantes dans le fichier karma.conf.js
autoWatch: false,
singleRun: true
J'ai partiellement eu mon inspiration d'ici: https://stackoverflow.com/a/33802985/1534823
Utilisez également logLevel: config.LOG_DEBUG
- il peut vous aider à obtenir de bonnes informations sur la cause de votre erreur`
Vérifiez les paramètres suivants dans karma.conf:
captureTimeout: 60000,
browserNoActivityTimeout: 360000
browser: ["Firefox"]
Si l'un de ces trois paramètres n'était pas défini correctement, nous obtiendrions l'erreur décrite ci-dessus.