当我使用 Selenium/MSTest 进行 UI 测试时,我遇到了一个问题:我需要在 TFS 构建期间执行自动化测试之前将ASP.NET 站点部署到临时服务器(TFS 2012)。
虽然我认为我可以在 TFS 构建过程模板 ( DefaultTemplate.xaml
) 中进行此配置,但我无法弄清楚如何更改执行构建- >部署->测试流程的顺序。
请注意,在使用 TFS 实验室环境时,我发现了一些有助于实现此目标的方法,但这不是我的情况。
当我使用 Selenium/MSTest 进行 UI 测试时,我遇到了一个问题:我需要在 TFS 构建期间执行自动化测试之前将ASP.NET 站点部署到临时服务器(TFS 2012)。
虽然我认为我可以在 TFS 构建过程模板 ( DefaultTemplate.xaml
) 中进行此配置,但我无法弄清楚如何更改执行构建- >部署->测试流程的顺序。
请注意,在使用 TFS 实验室环境时,我发现了一些有助于实现此目标的方法,但这不是我的情况。
默认模板单元测试不同于 UI 测试。默认模板旨在运行构建 -> 单元测试 -> 部署。
您现在处于构建 -> 单元测试 -> 部署 -> UI 测试。
对于 UI 测试,您需要单独的测试代理并在交互过程中设置构建代理。
这些链接可能会有所帮助
最后我解决了链接构建的问题。
例如,当我对生产构建进行排队时,顺序如下:
我从这篇博文中得到了解决方案:
Post 的作者在 GitHub Gist 中发布了修改后的 DefaultTemplate.xaml(构建定义):
整个博主的学分!
一种简单的解决方案是在构建定义中指定一个中间 msbuild 项目文件,然后从那里调用实际的解决方案文件。
然后,您可以在构建前或构建后执行任何所需的操作,以确保在 TFS 执行测试之前环境已启动并运行。我们会在 TFS 运行我们的集成测试之前编译和部署数据库。
这是一种避免操作构建模板的解决方案。