Est-il possible de laisser les fenêtres du navigateur de test ouvertes après Angular Protractor tests run? J'ai un test difficile qui échoue dans FireFox et il serait utile d'accéder à l'état de la page Web pour voir ce qui est passe.
Vous pouvez utiliser la fonction de débogage/pause de Protractor pour suspendre l'exécution de e2e, ce qui laissera finalement le navigateur ouvert: plus d'informations ici
Pour ce faire, ajoutez cette ligne sur votre test de rapporteur avant celui qui échoue
browser.pause();
Il existe également un outil très utile appelé elementor que vous voudrez peut-être examiner plus tard.
browser.pause
Ne fonctionne plus avec l'actuel Node v8.1.0, voir ici , mais vous pouvez utiliser browser.sleep(10000);
pour garder le navigateur ouvert pendant par exemple 10 secondes
Si vous avez configuré le script de test pour qu'il s'exécute à l'aide de grunt, vous pouvez utiliser le code suivant:
grunt.initConfig({
// ...
protractor: {
options: {
configFile: "protractor.conf.js",
keepAlive: true, // If false, the grunt process stops when the test fails.
noColor: false // If true, protractor will not use colors in its output.
},
run: {}
},
// ...
});
Si vous avez Node 8+, heurté au problème "Error: Cannot find module '_debugger'"
tout en essayant la solution browser.pause
De la réponse acceptée et vous ne pouvez pas le corriger en utilisant cette solution github alors vous pouvez le contourner comme suit:
Installer le rapporteur en tant que module du cadre d'automatisation (c'est-à-dire sans indicateur -g
)
npm install protractor
Exécutez également webdriver-manager update
Pour cette instance de rapporteur:
node ./node_modules/protractor/bin/webdriver-manager update
Lorsque vous avez browser.pause();
dans votre code, remplacez-le par l'instruction debugger;
Exécutez votre code comme suit:
node inspect ./node_modules/protractor/bin/protractor protractorConf.js
Où protractorConf.js
Est le fichier de configuration de votre instance de rapporteur
Si debugger
attend une entrée de votre part sur la ligne de commande, tapez simplement cont
et appuyez sur Entrée (pour cont
dans l'exécution)