web-dev-qa-db-fra.com

Quelles sont les différences entre l'utilisation de Nightwatch.js et Protractor

Quelles sont les différences? Quels sont les avantages d'utiliser l'un sur l'autre pour un projet Angular?

Nightwatch.js vs Protractor

31
Atav32

Si vous travaillez sur un projet AngularJS, le choix est simple - Protractor :

  • il est fait spécifiquement pour angular (bien qu'il puisse également être utilisé pour des applications non angulaires)
    • prend en charge les stratégies de localisation angulaires spécifiques (comme by.model, by.repeater etc)
    • attend angular pour démarrer pendant le chargement de la page (synchronisation)
  • il est activement maintenu et amélioré principalement par les développeurs de google en étroite collaboration avec une équipe angular - cela signifie que rapporteur suit le angular et nouveaux changements
22
alecxe

Il y a quelques autres différences qui n'étaient pas exposées dans la réponse du haut.

Le plus important pour moi est que, pour l'instant, le rapporteur ne prend pas en charge phantomJS ( http://www.protractortest.org/#/browser-setup#setting-up-phantomjs ). J'avais prévu d'intégrer l'automatisation dans le système CI, mais avec le rapporteur, je devrais configurer une fenêtre VM pour exécuter les tests.

Autres avantages de Nightwatch:

  • Les assertions sont effectuées automatiquement.
  • Sortie console propre, vous pouvez la transmettre à n'importe qui.
  • Les rapports de test sont générés automatiquement et enregistrés dans un /reports répertoire.

Protractor pros:

  • Les localisateurs angulaires spécifiques pris en charge par le rapporteur sont très puissants et pourraient grandement aider à créer des tests stables.
  • WaitForAngular est également très utile.

EDIT: Depuis le moment où j'ai écrit ce commentaire et aujourd'hui, notre équipe est heureuse de passer à cypress.io. Si vous décidez des cadres de test, je vous recommande fortement de le vérifier: https://www.cypress.io/

3
Kevin S