Ich möchte den vollständigen Integrationstest für eine Webanwendung durchführen. Ich möchte viele Dinge wie AJAX, Positionierung und Vorhandensein bestimmter Phrasen und HTML-Elemente mit mehreren Browsern testen. Ich suche ein Werkzeug für solche automatisierten Tests.
Auf der anderen Seite; Dies ist das erste Mal, dass ich Integrationstests verwende. Gibt es spezielle Empfehlungen für solche Tests? Irgendein Tutorial auch?
(Als Anmerkung: Mein Backend-Code wird mit Perl, Python und Django erstellt.)
Danke!
Wenn Sie umfassende Tests einschließlich Browserfunktionen wie AJAX durchführen müssen, dann würde ich Selenium empfehlen. Selenium startet einen Browser und steuert ihn, um die Tests auszuführen.
Es unterstützt alle wichtigen Plattformen und Browser . Selen selbst ist in Java implementiert, aber das ist nicht wirklich ein Problem, wenn es verwendet wird, um eine Webanwendung über seine Benutzerschnittstelle zu testen.
Selentests sind eine Folge von Befehlen in einer HTML-Tabelle, die unterstützten Befehle sind gut dokumentiert . Es gibt auch eine IDE , die als Firefox-Plugin implementiert wurde und mit der Tests aufgezeichnet und ausgeführt werden können. Die Testskripte, die in der IDE erstellt werden, können jedoch dazu verwendet werden, Tests gegen einen der unterstützten Browser durchzuführen.
Selenium
ist ein guter Weg zu gehen. Für die Verwendung mit Perl verwenden Sie dann das Test::WWW::Selenium
CPAN-Modul.
Hier ist ein Beispiel aus seinem Pod:
%Vor%Und hier sind einige zusätzliche Links, die vielleicht hilfreich sind:
/ I3az /
In diesem Artikel macht Noah Gift gute Arbeit und präsentiert drei Hauptalternativen für Web-App-Integrationstests: Windmühle, Selen und Twill. Twill betreibt kein Javascript, so dass Selenium und Windmill als Hauptmöglichkeiten übrig bleiben. Geschenke zeigen genug, was die Verwendung jeder von ihnen bedeutet, so dass Sie wählen können.
Eine Sache, die Gift nicht erwähnt, ist, dass Selen viel populärer ist - das ist nicht offensichtlich, wenn man nur die Begriffe Windmühle und Selen im Internet sucht, aber das ist, weil jeder (unterschiedliche Anzahl von ;-) falschen Hits bekommt. [windmill javascript] gibt 325k Treffer, [selen javascript] gibt 1,2 Millionen Treffer, und dieses Verhältnis ist repräsentativer. Wie auch immer, der Punkt ist, dass, wenn Sie beide für Ihre Bedürfnisse gleichermaßen leicht und leistungsfähig genug finden, so dass es Ihnen schwer fällt, eine auszuwählen, dann Selen auszuwählen (dh mit der Menge zu gehen), kann Vorteile haben (mehr Experten herum, zB auf SO um Fragen zu beantworten ;-) Wählt die etwas weniger beliebte Alternative.
Sie können Selen auch mit Selenium-RCs Pythonbindung steuern. Zum Beispiel:
%Vor%TestPlan ist ein großartiges Werkzeug für allgemeine Webtests. Es bietet sowohl ein displayloses Backend als auch Selenium. Das Selenium-Backend sollte sich darum kümmern, dass es in allen gängigen Browsern getestet wird. Es hat auch eine eigene Skriptsprache, die es ermöglicht, schnell zu schreiben und zu testen, obwohl Java auch verwendet werden kann.
Zum Beispiel geht das auf eine Seite und übergibt ein Suchformular und überprüft, ob es das richtige Ergebnis gefunden hat.
%Vor% Ein weiteres großartiges Tool zum Testen von Browsern, das als Ruby-Bibliothek erstellt wurde und Ruby für Skripts verwendet, ist Watir . Es gibt auch ein Firefox-Plugin für watir wie Selen namens
Firewatir gehostet auf Google-Code
Tags und Links python ruby perl integration-testing automated-tests