2008-09-23 6 views
36

Was ist der beste Weg, um meine Webforms-Anwendungen zu testen?Was ist der beste Weg, um Webforms-Apps (ASP.NET) zu testen?

Sieht aus wie Menschen lieben Watin und Selen.

+1

mögliche Duplikate von [Was ist der beste Weg Unit-Testing für ASP.NET 2.0-Webseiten zu tun?] (Http://stackoverflow.com/questions/4363/what-ist-the-best-way- to-do-unit-testing-for-asp-net-2-0-web-seiten) –

+1

Wenn diese Frage als Duplikat geschlossen wird, sollten die ausgezeichneten Antworten zusammengeführt werden. –

+0

Selen 2 mit WebForms wird ein wenig langweilig. Ich habe einige Wrapper-Methoden erstellt, die es etwas einfacher machen. http://www.foliotek.com/devblog/simplifying-c-selenium-2-tests-for-asp-net-webforms/ – Narnian

Antwort

18

UPDATE: Da WatiN ist seit mehr als einem Jahr stagniert, würde ich jemand direkt die Web-UI-Tests auf selenium muss, ist es im Dauereinsatz & Entwicklung von vielen Mitwirkenden, und von Google aktiv verwendet wird.

WatiN ist das beste, was ich gefunden habe. Es integriert sich in Visual Studio Unit-Tests oder nunit & man so ziemlich alles tun, können Sie in den Browser benötigen (Links klicken, Senden von Formularen, suchen Sie nach Text/Bilder, etc.)

Siehe folgende Fragen für ähnliche Antworten:

+0

Ich muss lernen, schneller zu tippen ... guter Vorschlag – JustinD

+8

Ist das nicht Integration/Akzeptanztests, wie es im Browser läuft? –

+1

WatiN ist kein Unit-Test-Tool – khebbie

0

ich würde ein verwenden, um ol wie Waitin:

„WatiN ist Web Application Testing in .NET, und dieser Test-Recorder wird durch die Aufnahme Ihrer Klicks in einem eingebetteten IE-Browser für Sie Stücke von Quelle erzeugen“ (von Scott Hanselman's blog - was ich dank einem anderen Beitrag gefunden Stackoverflow

WaitIn website

+0

WatiN ist kein Unit-Test-Tool – khebbie

15

das ist das größte Manko von Webforms - es ist für alle praktischen Gründen nicht überprüfbar im Hinblick auf die Unit-Tests von Test Controller usw.

das ist einer der wichtigsten Vorteile ist der das MVC-Framework.

+3

Nicht sicher, warum Sie so stark heruntergeregelt wurden, ich denke sogar viele bei Microsoft würden zustimmen (daher die große Einheit Testing Schwerpunkt in MVC). Wenn Sie ein Tool verwenden, das einen Webbrowser öffnet, um den Code zu testen, der auf der Serverseite ausgeführt wird, eröffnen sich eine Menge anderer möglicher Fehler, und Sie können Tests nicht auf tatsächliche Codeeinheiten isolieren. –

+3

Ich habe gerade upvoted (für die Info) aber downvotes Sinn hier, denn die Frage fragt, was der beste Weg ist, Test-Web-Formulare zu testen. Die Diskussion der MVC-Stärken kommt dieser Frage nicht zugute. –

+0

@TomLianza, weil dies die Frage nicht beantwortet – BigOmega

0

ich mit Watir (Web Application Testing in Ruby) gehen würde - http://wtr.rubyforge.org/. Wir (Acsys Interactive) verwenden seit ungefähr einem Jahr und das Tool ist großartig.

ich eine einfache Wrapper in .NET entwickelt, so dass ich meine Watir Skripte von Unit-Tests ausführen kann. Das Framework ist unglaublich und du hast die ganze Ruby Power hinter dir. Es gibt Unterstützung für Firefox & Safari (FireWatir-Projekt).

Es ist sehr ähnlich zu WATIN (in der Tat denke ich, WATIN von Watir inspiriert wurde), aber ich finde, dass Watir Gemeinschaft ist viel größer als WATIN ein.

Im moment gibt es Test-Recorder gibt, die Sie verwenden, und Tonnen von Tutorials können.

Es ist wirklich Ihre Wahl. Wenn Sie glauben, dass die Tests in .NET sein müssen und Sie keine andere Sprache unterstützen möchten, ist Ihre Wahl WATIN. Auf der anderen Seite, wenn Sie eine lustige und ziemlich leistungsfähige Skriptsprache (das ist, was Ruby ist) versuchen wollen, dann gehen Sie für WATIR.

Frage an WATIN Jungs, unterstützt es FireFox/Safari?Hier

+0

Ja, es unterstützt FireFox – asyncwait

0

ist eine Überprüfung der Watin, Watir und Selen http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/

Anscheinend arbeitete Selen ziemlich langsam für den Tester, aber wenn Sie feststellen, wie einer der Kommentare weist darauf hin, dass dies nur dann der Fall auf Grund zu seiner Unterstützung mehrerer Browser.

Es gibt jedoch eine CTP-Version (Community Technology Preview) von WatiN, die sowohl Internet Explorer als auch FireFox-Automatisierung unterstützt.

29

Nur wundernd, warum würden Sie WatiN eine Einheit Testwerkzeug nennen? Das letzte Mal, als ich überprüft habe, lief es Integration Tests.

Der beste Weg wäre, den gesamten Code, der nicht von HttpContext abhängig ist, in eine separate Assembly zu verschieben und Unit-Tests wie gewohnt auszuführen. Der Rest kann mit Ivonna getestet werden. Sie testet das Client-Verhalten nicht, da kann WatiN hilfreich sein; Wenn Sie jedoch Ihre Seiten oder Steuerelemente isoliert testen möchten, ist sie Ihre einzige Wahl.

+5

Dies sollte die akzeptierte Antwort sein. Die angenommene Antwort ist falsch. – youwhut