Question

Quels sont les bons outils de test de l'interface utilisateur Web automatisée?

Je veux pouvoir l'utiliser dans le monde .Net - mais il n'est pas obligé de l'écrire en .net.

Des fonctionnalités telles qu'un mode d'enregistrement, une intégration dans le processus de construction \ une intégration continue seraient utiles.

Je vais regarder:

Y a-t-il d'autres que je devrais regarder?

Était-ce utile?

La solution

Je recommande définitivement Selenium, vous pouvez l’utiliser à partir de .NET, prend en charge différents navigateurs, fonctionne dans les versions automatiques et les processus de CI (nous l’utilisons depuis CCNet). Le code est stable. Il a quelques bizarreries, mais après tout, ils le font tous.

Quel que soit l’outil que vous choisissiez, je vous recommande d’organiser vos propres classes de façade de test autour. La façade doit être conçue pour répondre à vos besoins de tests concrets, sans exposer trop les détails de l'API de l'outil de test. Cela facilitera l’écriture et la maintenance du code de test.

UPDATE: si vous utilisez l'état d'affichage ASP.NET dans votre application, vous pourriez avoir des problèmes avec un outil de test HTTP pur. C’est là que les contrôleurs de navigateur (comme Selenium) sont bien meilleurs.

Autres conseils

WatiN

Automatise FF et IE

[Test] 
public void SearchForWatiNOnGoogle()
{
 using (IE ie = new IE("http://www.google.com"))
 {
  ie.TextField(Find.ByName("q")).TypeText("WatiN");
  ie.Button(Find.ByName("btnG")).Click();

  Assert.IsTrue(ie.ContainsText("WatiN"));
 }
}

http://watin.sourceforge.net/

Watin est assez instable pour l’utiliser dans des projets sérieux. Il échoue souvent avec des raisons inattendues telles que "EI is busy". ou quelque chose comme "Erreur avec l'objet COM". Le sélénium est beaucoup plus stable et dispose déjà de nombreux outils de support. Par exemple, Selenium GRID est une solution qui permet de réduire considérablement le temps d’exécution des tests. (Nos tests de fumée sur Watin prennent 6 heures à courir).

Actuellement, j'utilise QTP et jusqu'à présent, il peut au moins gérer tout ce que nous envoyons à la fois sur l'interface utilisateur et dispose d'un mode spécial pour tester les services non-gui nous permettant de vérifier à la fois l'aide et précisons les problèmes qui surviennent lorsque nous modifions le système. Il est à mon avis très configurable et l’inclusion de vbscript en tant que langage permet l’intégration de beaucoup de choses sur Windows pour vous permettre de faire à peu près tout ce que vous voulez! Par exemple, nous l'utilisons pour contrôler l'objet excel com afin de créer des rapports Excel personnalisés de réussite et d'échec, de sorte que le format des résultats est identique, qu'un test ait été exécuté manuellement et qu'un autre projet a également utilisé l'objet adodb pour le vérifier soumet à la base de données que la base de données contient les données correctes pour cet enregistrement!

En ce qui concerne l’intégration dans le processus de construction, je n’ai pas essayé cela moi-même, mais il est possible de lancer qtp et un test à partir d’un fichier vbs. Je suppose donc que cela devrait être assez réel, car les outils ms tendent à vous permettre d’exécuter des fichiers vbs. assez facilement de la plupart des outils.

Je le recommanderais à tous ceux qui croient que vous pouvez trouver quelqu'un qui achète la licence!

vous voudrez peut-être aussi jeter un coup d'œil à ce que l'équipe ASP.NET a créé elle-même: Infrastructure de test léger d'automatisation .

Il existe également un forum dédié à ce sujet.

Après avoir utilisé plusieurs solutions de test automatisées (TestComplete, QTP, etc.), je dois voter pour Telerik + Visual Studio. Telerik dispose d'excellents forums d'assistance et est très compatible avec le framework de test que vous proposez. Nos développeurs ont mis des identifiants uniques dans leur code HTML afin que nos scripts n'aient pas besoin d'être réécrites, même avec des refactors d'interface utilisateur assez drastiques. C'est certainement plus difficile que l'enregistrement et la lecture, mais une fois que vous avez vos identifiants uniques en place, le code d'automatisation nécessite peu ou pas de maintenance.

Essayez httpunit

dépend de ce que vous souhaitez réaliser.

Vous pouvez utiliser le test Web intégré à Visual Studio Tester Edition. C'est assez bon et facile à automatiser. Vous pouvez utiliser des données externes en tant que source de données de test, qui s'intègre parfaitement avec les VS.

Il existe également un outil de test d'Automation QA (oublié le nom) qui a l'air beau mais cher.

Et il y a le sélénium. C'est celui que nous utilisons dans Symantec. Le plus gros avantage est qu’il utilise en fait un navigateur que vous souhaitez tester. VS imite un navigateur en modifiant uniquement les paramètres de la requête http, de sorte que vous ne pourrez peut-être pas tester votre site pour la compatibilité entre navigateurs. De son côté, Selenium utilise un navigateur et l’automatise pour vous permettre de tester votre site dans IE, Firefox, etc. Il peut également être intégré aux tests unitaires du VS afin que vous puissiez voir les résultats de test dans le VS.

Je recommanderais donc Selenium ou VS.

J'ai utilisé le sélénium. Les fonctionnalités étaient bonnes et utilisables, mais c’était un buggy.

L'EDI enregistre souvent les événements de manière incorrecte (les tests doivent donc être modifiés manuellement) et les fichiers de test deviennent parfois totalement inutilisables sans raison apparente, ce qui signifie qu'ils doivent être recréés de nouveau. Le développement sur Selenium IDE semble également s’être arrêté; Il n'y a pas eu de correctifs ni de correctifs depuis un moment, et les rapports de bogues semblent passer inaperçus.

Le molybdène est une solution de remplacement au sélénium qui mérite d’être examinée.

http://www.molyb.org/

Juste pour lancer une autre option (que je n’ai pas essayée mais que j’aime bien comme Telerik) est le nouveau Studio de tests WebUI . Je ferai également écho aux votes de Selenium.

J'oublie un outil sympa et je peux trouver un lien dessus mais trouver ceci ... http://weblogs.asp.net/bsimser/archive/2008/02/21/automated-ui-testing-with-project-white.aspx peut peut-être aider.

Si vous recherchez un outil simple et multi-navigateurs avec enregistrement et lecture, lecture multithread, intégration aux processus de construction, script puissant, rapports de qualité et assistance excellente, optez pour Sahi . Il sera beaucoup plus facile pour vos testeurs / développeurs d’apprendre et de gérer.

vous voudrez peut-être prendre en compte près de Selenium et le testeur fonctionnel fonctionnel! si vous êtes habitué à coder en .Net ou en Java et souhaitez simplement jouer avec record & amp; rejouer ou vouloir créer des tests programmatiques plus sophistiqués, je le recommande.

WebDriver est une autre possibilité: http://code.google.com/p/webdriver

Ils travaillent sur un wrapper .NET qui pourrait vous intéresser.

Essayez QEngine . Il possède toutes les fonctionnalités de QTP.

Vous voudrez peut-être consulter RIATest pour les croix sur plusieurs plates-formes -tests par navigateur des applications Web.

Il fonctionne sous Windows et Mac. Les navigateurs pris en charge sont Firefox, IE et Chrome. Les scripts de test automatisés écrits sur une plate-forme / navigateur peuvent être exécutés sur toutes les autres plates-formes / navigateurs pris en charge.

Il possède les fonctionnalités souhaitées: le mode d’enregistrement par interaction utilisateur et l’intégration avec les serveurs CI (les résultats sont au format JUnit et peuvent être utilisés par des serveurs CI tels que Hudson).

(Avertissement: je suis un membre de l'équipe RIATest).

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