如何在基于参数的构建开始之前更新 App.Config 文件

How to update either App.Config file before the build starts based on a param

我正在为 运行 Selenium 测试编写一个基于 MSTest 的单元测试框架。我正在从 app.config 文件中提供测试应该 运行 的浏览器。我面临的问题是我需要 运行 临时在各种浏览器上进行测试。这是由关键浏览器的值决定的。

<appSettings>
   <add key="browser" value="chrome"/>
</appSettings>

如果我需要 运行 在另一个浏览器中执行此操作,我会将浏览器值更新为 Firefox,一切正常。

但是当涉及到CI环境时,是否有规定在代码之外更新app.config文件,然后触发构建。

由于我使用的是 TFS,是否有可以更新 app.config 的构建任务,或者是否有我可以传入的参数 MSBUILD.exe

在这种情况下,任何触发构建的人都可以确定他们必须在其中 运行 测试并触发测试的浏览器。

任何指点都会对我有很大帮助。

是的,您可以下载 Replace Tokens 构建任务扩展并将其安装到您的 TFS 中。然后您可以在 VSBuild 步骤之前将它添加到您的构建定义中。这个任务可以用变量的值替换文件中的字符串。您只需要在排队构建时更改变量的值。