web-dev-qa-db-fra.com

Angular Protractor - Laissez le navigateur ouvert après les tests E2E

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.

34
BradGreens

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.

45
Leo Gallucci

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

9
Urs

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: {}
    },
    // ...
  });
2
Tessy Thomas

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:

  1. Installer le rapporteur en tant que module du cadre d'automatisation (c'est-à-dire sans indicateur -g)

    npm install protractor
    
  2. Exécutez également webdriver-manager update Pour cette instance de rapporteur:

    node ./node_modules/protractor/bin/webdriver-manager update
    
  3. Lorsque vous avez browser.pause(); dans votre code, remplacez-le par l'instruction debugger;

  4. Exécutez votre code comme suit:

     node inspect ./node_modules/protractor/bin/protractor protractorConf.js
    

    protractorConf.js Est le fichier de configuration de votre instance de rapporteur

  5. Si debugger attend une entrée de votre part sur la ligne de commande, tapez simplement cont et appuyez sur Entrée (pour contdans l'exécution)

2
Adelin