2017-09-15 1 views
0

Ich habe ein Problem mit Selen-End-to-End-Tests nach einer automatisierten Bereitstellung mit Visual Studio Team Services (VSTS) arbeiten.Wie Selenium-Tests nach der Bereitstellung in Visual Studio-Team-Dienste ausgeführt werden

Ich habe eine Build-Funktion, die ein Buildartefakt generiert. Dies wird von VSTS ausgelöst, aber auf einem lokalen Build-Server ausgeführt. Ich arbeite mit einer Bereitstellung, die auf einem lokalen Entwicklungswebserver bereitgestellt wird. All dies funktioniert, einschließlich Komponententests, die nach dem Build ausgeführt werden.

Wenn ich versuche, Tests nach der Bereitstellung hinzufügen, wenn ich auf das Problem stoßen. Die Tests sollen auf dem Build-Server ausgeführt werden und auf die Website des Dev-Servers verweisen. Die Bereitstellung hat zwei Phasen. Eine Bereitstellungs- und anschließend eine Agentenphase, die einen Testassembly-Task mit dem Erstellungsagenten auf dem Erstellungsserver ausführt. Das Problem scheint zu sein, dass die Test-DLLs nicht in dem Build-Artefakt enthalten sind und daher niemals gefunden werden, wenn der Testprozess ausgeführt wird. Stellen Sie die Einrichtung wie folgt ein.

Deployment with test assemblies open

Ich habe eine Kopie von Dateien vor dem veröffentlichen Artefakt in der Build-Definition, die die Dateien in dem richtigen Ort zu kopieren scheint, aber sie sind nicht in der Zip-Datei Artefakt enthält. Ich habe mir hier einige Websites und Posts angeschaut, aber mir scheint noch immer ein vitales Wissen zu fehlen, das das funktionieren lässt.

Build def with copy open

+0

Könnten Sie das Detail bauen teilen und Dateien auf dem Microsoft Onedrive Logfreigabe? (Setzen Sie die Variable system.debug auf true und fügen Sie die Variable system.debug hinzu, um die Definition freizugeben. Erstellen Sie dann die Warteschlange, starten Sie die Freigabe und geben Sie das Protokoll frei) –

+0

Wie lautet der Name der Testbaugruppe? Der Inhalt der Task "Dateien kopieren" lautet "* Selenium * .dll". Die Test Assemblies der Visual Studio-Testaufgabe sind jedoch '* test * .dll'. Auf der anderen Seite, was ist der BuildConfiguration-Variablenwert in Release? (Standardmäßig gibt es keine BuildConfiguration-Variable) –

+0

Die Test-DLL wird selenentests.dll genannt werden, damit sie von beiden Suchmustern erkannt wird. Der Grund dafür ist Selen und das andere ist nicht, weil ich im Moment nur diese Dateien kopieren möchte, aber andere später kopieren kann. Alle haben irgendwo den Stringtest drin. Die Buildkonfigurationsvariable ist vordefiniert. Siehe https://docs.microsoft.com/en-us/vsts/build-release/concepts/definitions/build/variables?tabs=batch –

Antwort

0

Verwendung des Protokolls tat Hilfe für das so dank empfohlen.

Ich habe es geschafft, das funktioniert zu bekommen. Ich habe die Selen-Tests in eine separate Lösung aufgeteilt und daraus ein eigenes Build-Artefakt erstellt. Ich habe dies dann der Agentenaufgabe in der Bereitstellung hinzugefügt. Das hat funktioniert. Das einzige, was ich jetzt sortiert bekommen muss, ist der korrekte Suchpfad, um die Test-DLLs zu finden. Es ist nicht ganz so dynamisch, wie ich es momentan möchte. Ich kann das tun, bis ich es richtig verstanden habe.

Ich akzeptiere, dass dies funktioniert eher als die Lösung des ursprünglichen Problems, aber Bedürfnisse und Zeitpläne müssen. Ich denke, dass das Verschieben der End-to-End-UI-Tests aus der Hauptlösung sowieso sinnvoll ist, aber andere denken vielleicht anders.

Vielen Dank für Ihre Hilfe jeder

Verwandte Themen