Vérifier qu'il n'y a pas d'erreur dans le navigateur de la console avec le Rapporteur
-
21-12-2019 - |
Question
Je suis en utilisant le Rapporteur pour tester AngularJS
Je veux vérifier qu'à la fin de l'essai n les exceptions non traitées eu lieu et ont été imprimés pour le navigateur de la console.
Est-il un moyen simple de le faire?
La solution
Si vous utilisez un protacteur avec Jasmine, utilisez le code suivant:
afterEach(function() {
browser.manage().logs().get('browser').then(function(browserLog) {
expect(browserLog.length).toEqual(0);
});
});
Ceci passera le boîtier de test s'il n'y a pas d'erreurs de console.S'il y a des erreurs de console, le test échouera.
instructions sur la manière d'accéder au contenu de la console du navigateur dans le Comment puis-je obtenir la console de la console de navigateur de la FAQ.
Autres conseils
Le rapporteur 2.0.0 a introduit une nouvelle console
plugin spécifiquement pour la tâche.
Ajoutez les lignes suivantes au rapporteur de configuration:
plugins: [{
path: '/path/to/node_modules/protractor/plugins/console/index.js',
failOnWarning: true,
failOnError: true
}],
Avec un petit effort, nous pouvons modifier la réponse acceptée pour travailler avec concombre.js, au cas où vous n'utilisez pas de Protractor avec le cadre de test par défaut.
this.After(function(callback) {
browser.manage().logs().get('browser').then(function(browserLog) {
if (browserLog.length !== 0) {
var failMessage = "There was output in the browser console:" +
browserLog.map(JSON.stringify).join(";\n");
callback.fail(failMessage);
}
else {
callback();
}
});
});
Vous voudrez consulter la documentation sur après les crochets , qui sont l'équivalent de concombre avec afterEach
de Jasmine.
Comment @Velochy a déclaré qu'il y a maintenant un package propre pour le module: HTTPS: //www.npmjs.com/package/protractor-console-plugin
Vous pouvez l'utiliser dans votre protractor.conf:
plugins: [{
package: 'protractor-console-plugin',
failOnWarning: {Boolean} (Default - false),
failOnError: {Boolean} (Default - true),
logWarnings: {Boolean} (Default - true),
exclude: {Array of strings and regex} (Default - [])
}]