2017-01-17 3 views
0

In Microsoft Release Management 2013 haben wir im Powershell-Executor-Schritt einen Schritt zum Auslösen einer Windows-Stapeldatei konfiguriert. Diese Batch-Datei wird auf einem anderen Server ausgeführt, was auch unser App-Server sein wird. Als Experiment haben wir einen einfachen Testfall, um den IE zu öffnen, auf die URL der Google-Startseite zuzugreifen und den Browser zu schließen. Außerdem wird ein Screenshot erstellt. Wenn wir den Job von RM aus ausführen, sagen die Selenium-Protokolle, dass der Browser gestartet wurde und der Test erfolgreich war. Aber wenn wir den Screenshot überprüfen, ist es nur ein schwarzer Bildschirm. All dies wird als Benutzer des Windows-Dienstkontos ausgeführt, bei dem es sich um denselben Benutzer handelt, auf dem RM ausgeführt wird. Dieser Benutzer hat keine Anmeldeberechtigung.Selen mit Windows-Versionsverwaltung

Wenn ich mich mit meiner eigenen ID beim App-Server anmelde und die Batchdatei manuell ausführe, wird der Screenshot korrekt erfasst. Ich habe mehrere Online-Beiträge zum schwarzen Bildschirm gelesen. Leute haben gesagt, dass der Screenshot schwarz ist, weil der Bildschirm gesperrt ist. Bedeutet dies, dass der RM Powershell-Executor-Schritt mit einigen anderen Anmeldeinformationen anstelle des Dienstkontos ausgeführt werden muss? Wenn ja, wie machen wir das? In einigen Vorschlägen wurde erwähnt, VNC zu installieren. Ist das in dieser Situation relevant?

Ich bin ziemlich neu in Windows. Ich habe hauptsächlich in Linux-Systemen gearbeitet und ich wurde gebeten, dieses Problem hier zu debuggen. Irgendwelche Hinweise/Anleitung werden geschätzt. Vielen Dank!

Antwort

0

Wir haben es endlich geschafft zu arbeiten.

Wir haben die testNG Selen-Tests innerhalb eines Batch-Skripts aufgerufen. Dieses Skript wurde in der Powershell Executor-Task in RM angegeben. Der wichtigste Punkt ist, dass wir in der Powershell-Executor-Task zuerst einen cd-Befehl (change directory) haben müssen, um in das Verzeichnis zu wechseln, in dem sich die Selenium-Skripte befinden. Geben Sie anschließend den vollständigen Pfad zum Batch-Skript an, das in derselben Powershell-Executor-Task ausgeführt werden soll. Dieser CD-Befehl ist sehr wichtig. Ohne dies würde das Batch-Skript ausgeführt werden, aber der Selenium-Schritt in diesem würde nicht funktionieren. Sie würden nur eine vage "Konfigurationsfehler: 1" in der endgültigen Ausgabe bekommen.

Wir haben uns um die Webseiten-Authentifizierung mit AutoIT für IE-Browser gekümmert.

0

Der Bereitstellungs-Agent wird nicht als interaktiver Dienst ausgeführt. Sie werden große Schwierigkeiten haben, Selenium-Tests direkt aufzurufen. Ich habe vor ein paar Jahren eine blog post geschrieben, die zeigt, wie ich es geschafft habe. Grundsätzlich verwenden Sie Selenium-Hub, um die Tests interaktiv von Agent-Maschinen auszuführen.

+0

Vielen Dank, dass Sie sich die Zeit genommen haben, mir dabei zu helfen! Ich war in der Lage, die Lösung herauszufinden, die zufällig ein einfacher Fall war, in dem der RM Powershell-Executor-Schritt keinen "cd" -Befehl hinzufügte. Ich habe meine Antwort hier gepostet. – nnair900