2010-07-16 21 views
2

Je veux créer des tests Webdriver pour tester mon application Web Java, mais je ne suis pas sûr qu'ils devraient vivre dans un autre projet ou s'ils devraient vivre dans mon projet d'application web.Comment organiser des tests Webdriver

Je souhaite également exécuter ces tests Webdriver à partir de mon serveur Hudson CI à chaque validation de mon référentiel SVN. Serait-ce une pratique standard?

Je ne pense pas que ce soit trop important mais j'aimerais savoir ce que les autres font?

Répondre

2

Il est recommandé de séparer votre projet et les tests Selenuim, en particulier si vous envisagez de les exécuter dans Hudson. C'est parce que de tels tests vont durer longtemps et que vous voudriez que votre build tourne vite.

Vous devriez donc créer un projet séparé avec des tests et l'exécuter après la fin de votre projet principal - tout peut être configuré dans Hudson. Vous pouvez configurer votre projet pour être construit après chaque commit, cependant vous devriez lire la documentation Hudson connexe

0

Nous avons une grande application d'entreprise écrite en Java et Gwt, donc beaucoup de JS sur le client.

Nous avons essayé dans le passé d'utiliser du sélénium pour le tester, mais nous n'avons jamais fait plus que quelques tests de fumée en raison de la complexité et de la fragilité de celui-ci.

Maintenant, nous avons commencé un test Scénario UseCases avec cucumber + watir + webdriver. Les tests sont écrits en Ruby et Gherkin (concombre DSL) et vont à l'encontre de notre application.

Jusqu'à maintenant, les gens du QA et de la BA sont enthousiastes, et l'effort de développement s'est déjà rentabilisé compte tenu de l'économie sur les caractéristiques de retesting par rapport à exécutez la suite et aller prendre un café. ;)

0

Si vous effectuez des tests pour une application ASP.NET avec des contrôles qui sont réutilisés pour différentes pages, il peut être judicieux de créer une classe pour chaque contrôle, plutôt que pour la page. Mais normalement, vous voudriez que chaque classe soit spécifique à une page. Et gardez votre page à ses services/fonctionnalités, pas ce qui se passe dans le code.

Ceci est un bon aperçu. http://code.google.com/p/selenium/wiki/DesignPatterns