Frage

Ich habe einige einfachen WatiN Tests zu unseren App heute zu prüfen, ob ein Cookie-Wert korrekt gespeichert wird.

passieren Die Tests lokal auf allen Maschinen im Team. Wenn jedoch CruiseControl- die Tests auf unserem Build-Server diese neuen Tests nicht auf der Linie läuft mit

browser.GetCookie(url, cookieName)

Der Fehler in dem CruiseControl- Protokoll gegeben ist die alte Kastanie aus:

Object reference not set to an instance of an object.

Ich habe auf den Build-Server mit Remote Desktop angemeldet ist, das gleiche Benutzerkonto, das CruiseControl- unter ausgeführt wird, und führen Sie MbUnit manuell, und die Tests bestanden. So kann es nicht ein Problem mit den Berechtigungen auf dem Build-Server zugreifen Cookies sein.

Ich habe durch alle WatiN Dokumentation Hilfe gesucht, aber gehen leer aus. Ich habe den CruiseControl- Dienst neu gestartet. Ich habe alles versucht, ich denken kann, und ich bin jetzt völlig ratlos jetzt, was in der Art und Weise anders sein könnte Cruise Control diese Tests ausgeführt wird.

Weiß jemand, was dies verursachen könnte und / oder wie es zu lösen?

War es hilfreich?

Lösung

Versuchen Sie als Anwendung läuft CruiseControl- statt als Dienstleistung an. WatiN neigt, wenn sie von einem Dienst ausführen zu hängen (da Windows-Dienste sind nicht auf eine UI-Sitzung angebracht und WatiN erfordert eine für den Umgang mit Dialogfeldern in IE).

Aber davon abgesehen ... daran erinnern, dass IE Cookies in Ihrem Benutzerprofil gespeichert werden. Profile werden nicht geladen, wenn Dienste laufen - sie Daemon Prozesse sind, die leise im Hintergrund laufen und nicht wirklich im Rahmen einer Anmeldesitzung ausgeführt werden. Ich vermute, das ist die Ursache Ihrer Ausnahme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top