Question

J'utilise déjà des tests unitaires pour m'assurer que tous les bits critiques de mon application Web actuelle fonctionnent bien. Mais qu'en est-il de tester l'interface utilisateur pour s'assurer que la réponse appropriée se produit lorsqu'un utilisateur frappe un bouton par exemple? - Je veux dire, ça va vraiment faire un gâchis si soudainement le signup Le bouton disparaît ou cesse de fonctionner, donc je suppose que c'est le bon sens d'effectuer également ce type de test d'interface utilisateur.

D'après ce que j'ai lu jusqu'ici. Selenium, PhantomJS & Zombie semble Pour faire ce que je veux, mais je connais très peu d'eux.

Mais quelles autres alternatives sont disponibles et que devrait-on considérer avant de faire ce type de test unitaire?

Était-ce utile?

La solution 2

J'ai fini par utiliser zombie.js Ce qui était un ajustement assez agréable car nous avions déjà l'inhouse de connaissances javascript.

Autres conseils

Fantôme et zombie sont essentiellement la même chose. Les deux sont sans tête navigateurs. Sans tête signifie qu'il se comporte comme un simple navigateur (ouvre la page, exécute des scripts, rend le contenu, gère les cookies, etc.) mais aucune sortie n'est affichée à l'utilisateur.

Vous définissez un cas de test à l'aide de javascript

  1. Ouvrir la page www.example.com
  2. Insérer le texte "Bob" dans le champ de texte "nom d'utilisateur"
  3. Cliquez sur le bouton "bonjour"
  4. Vérifiez (affirmer) que le champ "Output" contient "bonjour Bob"

Sélénium est un ensemble d'outils:

  • Sélénium ide - Un complément Firefox qui peut enregistrer et jouer des actions effectuées par vous. Cela signifie qu'aucune connaissance du langage de script n'est nécessaire pour créer et exécuter des cas de test!
  • Sélénium WebDriver - Une bibliothèque qui peut «prendre le contrôle» de certains navigateurs pris en charge. Il ouvre en fait un navigateur sélectionné (disons Firefox) et effectue les actions décrites dans le code de cas de test. (Notez que Phantom Headless Browser est l'un des navigateurs que WebDriver peut contrôler).
  • Un peu plus comme la grille pour les tests de charge, mais je ne sais pas grand-chose à ce sujet

Pour résumer

  • Si vous souhaitez tester uniquement le frontal et que vous êtes expérimenté avec JavaScript - prenez un fantôme ou un zombie
  • Si vous ne souhaitez pas utiliser JavaScript, choisissez Sélénium IDE
  • Si vous souhaitez créer des tests plus compliqués (par exemple, mettez du contenu dans la base de données, puis effectuez des opérations dans le navigateur) - Utilisez Selenium WebDriver

Vous seriez mieux avec le sélénium car il a le stregth de langues puissantes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top