Um unsere Desktop-Anwendung zu testen, verwenden wir TestComplete/TestExecute. Wir haben ein Master-Projekt, das auf einem Management-Rechner gestartet wird. Dieses Masterprojekt erfordert keine Interaktion mit dem Desktop, es testet unsere App nicht.Starten Sie TestExecute von TeamCity
Dieses Projekt startet das Slave-Remote-Projekt (tatsächliche UI-Tests unserer App, die Desktop-Interaktion erfordern) auf verschiedenen VMs über TestExecute direkt.
Wir verschieben derzeit unseren Build-Prozess zu TeamCity. Auf dieser Verwaltungsmaschine haben wir einen Build Agent von TeamCity. Der Build-Agent wird als Dienst mit einem Systemkonto ausgeführt (nicht mit dem lokalen Systemkonto).
Wir verwenden nicht das lokale Systemkonto (das mit dem Desktop interagieren kann), da wir für den Zugriff auf Domänenressourcen ein Domänenkonto benötigen. Und wir wollen den Agenten nicht als Prozess starten, wir wollen ihn im Dienst halten.
Momentan können wir TestExecute nicht direkt von TeamCity aus starten, da TestExecute eine interaktive Sitzung erfordert und das Konto des Build Agent nicht mit dem Desktop interagieren kann. Wir haben mit einem Skript (ausgeführt von TeamCity) versucht, eine PSSession mit einem normalen Benutzer zu erstellen, die Zugriff auf den Desktop hat und TestExecute von dieser PSSession aus startet. Aber das funktioniert auch nicht.
Hier ist die Ausnahme, die wir mit beiden Fällen (direkt und über PSSession) hatte:
Start-Process : This command cannot be run due to the error: This operation requires an interactive window station.
At line:3 char:9
+ Start-Process "D:\SmartBear\TestExecute 12\Bin\TestExecute.ex ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
Hat jemand eine Lösung haben Tests mit TestExecute von Teamcity zu starten? Wie gesagt, dieses Projekt muss nicht mit dem Desktop interagieren, es wird den UI-Test auf verschiedenen VMs direkt über TestExecute starten.
Oder ist es möglich, dass ein Domänensystemkonto (wie das, das wir verwenden) mit dem Desktop interagiert?
Vielen Dank für Ihre Antwort !! Das behebt mein Problem !! Das war das Problem, ich habe diese uiAccess im Manifest nicht deaktiviert ... –