Frage

Wir verwenden UI Automation und Nunit Tests UI-Tests für WPF-Anwendung zu erstellen. Wir haben Tests erstellt, die gut funktionieren, wenn man sie von einem lokalen Computer ausgeführt werden. Diese Tests laufen nie erfolgreich auf unserem Build-Server (mit Teamcity). Erstellen Sie immer hängen nach Anwendungsfenster zu öffnen. Aber wenn ich angemeldet bin in (Remote Desktop) auf unserem Build-Server alles UI Automation-Tests auch erfolgreich ausgeführt werden. Also vermute ich, dass es wahrscheinlich etwas mit laufender aktiver Windows-Sitzung zu tun. Irgendwelche Ideen, wie unsere Build-Server zu überzeugen, zu aktiven Windows-Sitzung zu erstellen oder andere Lösungen für die Herstellung, diese Tests laufen auf Build-Server?

War es hilfreich?

Lösung

Sie haben nicht viele Optionen. Ich werde Liste der beide Ich weiß, die am meisten bevorzugte Option zuerst:

  • virtuelle Maschine auf Ihrem Build-Server einrichten. Ihr baut in der virtuellen Maschine auszuführen. Sie können den Host (aka Ihre Build) sperren zu halten Dinge sicher.
  • Halten Sie jemand auf die ganze Zeit protokolliert. Dies schafft offcourse ein Sicherheitsproblem. Sie können dieses Problem ein wenig lindern, indem Sie die Maus, die Tastatur und den Bildschirm zu entfernen und nur Zugriff auf die Build durch RDP oder etwas ähnliches.

Bearbeiten

Werfen Sie einen Blick auf diese Testcomplete FAQ Artikel: Kann Testcomplete Skripts ausführen wenn der Computer gesperrt ist?

Andere Tipps

OK, Ich kann nur raten hier.

Versuchen Sie, und den Teamcity-Dienst mit einem lokalen Build-Server-Benutzer statt des Systemkontos ausgeführt. Vielleicht muss man einmal mit diesem Konto anmelden, bevor Sie einen neuen Build starten.

Es klingt auf jeden Fall, wie Sie zu einem Dienst im Gegensatz müssen die Tests mit einer interaktiven Sitzung. Hinzufügen des „Service ermöglichen die Interaktion mit Desktop“ könnte helfen, aber dies ist nicht in Vista unterstützt mehr offenbar.

Wenn Sie führen Sie Ihre baut dem interaktiv als Befehlszeile, kein serivice, die funktionieren sollte.

Wir haben in unseren UIAutomation Tests unter Verwendung der visuellen studo 2008 Ladeagenten führen sie zu verteilen, als Kommandozeilen-Tool auf VMs ohne Probleme ausgeführt werden.

Ich bin damit einverstanden, dass Sie should't wahrscheinlich UI-Tests auf einem Build-Server einen Teil Ihrer täglichen Build ausgeführt werden.

  

Bauen immer hängen nach Anwendungsfenster zu öffnen.

Tests, die die UI instanziiert? Das wird nicht funktionieren, z.B. wenn Sie einen modalen Dialog bekommen die Build hängen. Dies ist der Grund, warum das MVP-Muster erfunden wurde, die aktive Präsentation Code aus einem Beton Ansicht zu isolieren.

Sind Sie einen Mock Blick in Ihren automatisierten Tests mit?

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