2009-07-12 12 views
1

Die zu testende .NET-Anwendung verwendet < authentication mode = "Forms" >. Wenn eine Instanz von WatiN.Core.IE erstellt wird, wird die Anmeldeseite angezeigt.Umgang mit ASP.NET-Formularauthentifizierung in WatiN-Komponententests

Kann das Login-Formular erfolgreich ausfüllen und authentifizieren, aber fragen, wie man das für mehrere Tests behandelt? Sobald die IE-Instanz freigegeben wird, muss sich der nächste Test erneut anmelden.

Hat WaiN einen Mechanismus, um das zu handhaben?

Haben Sie Ratschläge zum Umgang mit dem Login zum Testen dieser passwortgeschützten Seiten?

Antwort

3

Der Ansatz, den ich nahm, war, eine Basis-Testklasse mit einem [TestInitialize] -Attribut zu erstellen. Bei dieser Methode melde ich mich auf der Login-Seite an und benutze die "Remember me" -Option.

nächste Mal, wenn der Browser eine beliebige Seite lädt ist es bereits angemeldet.

Nicht schön, aber es funktioniert jetzt.

Irgendwelche besseren Möglichkeiten?

1

Wenn ich eine Anmeldung zwischen den Tests teilen möchte, initialisiere ich den Test Fixture mit einer Setup-Methode, die eine Instanz von IE erstellt und sich anmeldet. Ich verwende diese Instanz von IE für alle Tests im Fixture und dann habe eine Teardown-Methode, die IE ausmeldet und schließt und entsorgt. Jeder einzelne Test beginnt mit ie.GoTo (UrlToBeTested).

+0

Klingt wie eine gute Annäherung, werde versuchen –