C# 运行测试前powershell脚本以更改测试

C# 运行测试前powershell脚本以更改测试,c#,powershell,tfs,tfsbuild,coded-ui-tests,C#,Powershell,Tfs,Tfsbuild,Coded Ui Tests,我们的TFS构建过程有一个门控签入,它应该在每次签入时将我们的站点构建到我们的开发实例。然后,我们的QA实例每晚构建一次。每个构建都会触发一系列测试,大部分测试都在QA实例上进行 我的测试代码当前针对QA实例URL运行代码,我需要更改它们以反映开发签入的开发URL。我正在考虑在每次开发构建之前使用powershell脚本查找/替换UIMap.Designer.cs文件中的URL,并在测试完成后将其更改回来 我的问题是:我可以在测试运行之前使用powershell更改我的.cs代码文件吗?或者这会

我们的TFS构建过程有一个门控签入,它应该在每次签入时将我们的站点构建到我们的开发实例。然后,我们的QA实例每晚构建一次。每个构建都会触发一系列测试,大部分测试都在QA实例上进行

我的测试代码当前针对QA实例URL运行代码,我需要更改它们以反映开发签入的开发URL。我正在考虑在每次开发构建之前使用powershell脚本查找/替换UIMap.Designer.cs文件中的URL,并在测试完成后将其更改回来


我的问题是:我可以在测试运行之前使用powershell更改我的.cs代码文件吗?或者这会导致问题吗?第二,我是在绕模块走很长的路,还是有其他方法让编码的UI测试知道它正在测试哪个构建?我已经看过了,到目前为止还没有找到任何其他解决方案。

我不确定您是否可以,但如果可以,我不推荐。我建议将这些URL放入配置文件中,并对开发和QA进行单独的配置!你必须运行预构建,不是吗?预测试脚本在生成之后但在测试之前运行,因此对于编译到测试程序集中的源文件来说太晚了。另外,对于CodedUI设计器文件,我相信构建时会重新生成designer.cs,因此您必须实际编辑源uimap文件。我不知道你为什么以后要把它们换回来。这不像是构建服务器签入它们。可能是你感兴趣的。如果您可以在构建过程中将URL指定为测试设置的一部分,那么开发该URL可能会更容易。