2016-06-16 19 views
0

Ich schreibe ein MSTest-basiertes Unit-Test-Framework, um Selenium-Tests auszuführen. Ich liefere den Browser, auf dem die Tests ausgeführt werden sollen, aus der app.config-Datei. Das Problem, mit dem ich konfrontiert bin, ist, dass ich den Test für alle Arten von Browsern ad hoc durchführen muss. Dies wird durch den Wert für den Schlüsselbrowser bestimmt.Wie man eine App.Config-Datei vor dem Build-Build auf der Basis eines Paramts aktualisiert

Wenn ich dies in einem anderen Browser ausführen muss, werde ich den Browser-Wert auf Firefox aktualisieren und alles ist in Ordnung.

Wenn es jedoch zu einer CI-Umgebung kommt, gibt es eine Möglichkeit, die Datei app.config außerhalb des Codes zu aktualisieren und dann den Build auszulösen.

Da ich TFS verwende, Gibt es eine Build-Task, die die app.config aktualisieren können, oder gibt es einen param, die ich in MSBuild.exe

In diesem Szenario passieren kann, jede Person, die kann die Build-Trigger Bestimmen Sie den Browser, in dem sie den Test ausführen und den Test auslösen sollen.

Alle Hinweise werden mir sehr helfen.

+0

versuchen Sie diesen Blog: https://blogs.msdn.microsoft.com/visualstudioalm/2015/09/04/supplying-run-time-parameters-to-tests/ –

+0

Danke dafür. Aber ich verwende testsettings Datei und nicht Einstellungsdatei. Ich bin nicht sicher, dass dieser Ansatz für testsettings Datei funktioniert und ich habe Einschränkungen in der Verwendung von runsettings Datei und müssen mit testsettings Datei –

Antwort

1

Ja, Sie können die Task-Erweiterung Replace Tokens herunterladen und in Ihrem TFS installieren. Dann können Sie es in Ihrer Build-Definition vor dem VSBuild-Schritt hinzufügen. Diese Task kann die Zeichenfolge in der Datei durch den Wert von Variablen ersetzen. Sie müssen nur den Wert der Variablen ändern, wenn Sie den Build in eine Warteschlange stellen.

+0

Vielen Dank für diesen Eddie. Ich werde es versuchen und aktualisieren. –

+0

Vielen Dank für die Hilfe. Es klappt. Für diejenigen, die dies implementieren müssen, folgen Sie diesem Link https://github.com/colindembovsky/cols-agent-tasks/tree/master/Tasks/ReplaceTokens –

+0

funktioniert wie Charme ... –