2010-02-09 7 views
1

Hé, j'ai une application écrite avec un framework MVC, il y a environ 10 formulaires pour insérer de nouvelles données ou mettre à jour des données existantes. Maintenant, chaque fois que je prolonge une fonctionnalité, je dois retester l'application du trou, et cela prend du temps. comment puis-je automatiser cela? Je n'ai pas d'expérience avec ce test d'unité et pour autant que j'ai compris le concept n'est pas si utile pour moi de toute façon, mais peut-être que je me trompe. alors s'il vous plaît ajuster vos réponses à un niveau amical débutant :).Test automatique des formulaires

Répondre

2

Vous pourriez être intéressé par le Selenium suite: au fond, il permet de stocker les tests comme une succession HTML de « commandes », et les exécuter plus tard dans un système automatisé (ou semi-automatisée, comme vous le souhaitez) mode, dans un vrai navigateur.

Et il y a un composant fourni dans PHPUnit(le plus utilisé framework de tests automatisés PHP) utiliser Sélénium - voir Chapter 18. PHPUnit and Selenium


Fondamentalement, vous généralement:

  • Enregistrez la manière vous naviguez dans votre application, en utilisant le plugin firefox appelé Selenium IDE
  • Ensuite, vous affinez souvent ce scénario un peu - généralement, à faire e des choses plus dynamiques, par exemple
  • Et, enfin, vous courez le scenarii par Selenium RC(ce qui est un « contrôle à distance » à un vrai navigateur), en utilisant des classes PHPUnit

Il vous permet de exécuter les mêmes tests encore et encore, dans un vrai navigateur - ce qui signifie vraiment utiliser votre application.


Quelques notes:

  • Vous devez évidemment un ordinateur sur lequel un navigateur peut être lancé (par exemple un serveur de test avec une interface graphique)
  • Vous parfois/avez souvent d'adapter un peu vos modèles HTML, pour ajouter quelques , ou des choses comme ça
  • Les scénarios statiques enregistrés par Selenium IDE doivent généralement être rendus plus "dynamiques" - un exemple étant que, en raison d'une contrainte UNIQUE dans votre DB, vous pouvez n'utilisez pas la même adresse e-mail deux fois pour enregistrer deux différents utilisateurs: l'adresse doit être dynamique
  • L'exécution de tests avec Selenium prend du temps: chaque page doit être chargée dans un navigateur.
1

Jetez un oeil sur le sélénium (seleniumhq.org). Il y a tout un tas d'applications qui font ce genre de choses ... celui-ci est un favori.

Il enregistre essentiellement vos frappes/clic et vous permet de les rejouer. Le meilleur de tous, il a une extension firefox - ce qui rend beaucoup trop facile.