2

当我使用 Selenium/MSTest 进行 UI 测试时,我遇到了一个问题:我需要在 TFS 构建期间执行自动化测试之前将ASP.NET 站点部署到临时服务器(TFS 2012)。

虽然我认为我可以在 TFS 构建过程模板 ( DefaultTemplate.xaml) 中进行此配置,但我无法弄清楚如何更改执行构建- >部署->测试流程的顺序。

请注意,在使用 TFS 实验室环境时,我发现了一些有助于实现此目标的方法,但这不是我的情况。

4

3 回答 3

1

默认模板单元测试不同于 UI 测试。默认模板旨在运行构建 -> 单元测试 -> 部署。

您现在处于构建 -> 单元测试 -> 部署 -> UI 测试。

对于 UI 测试,您需要单独的测试代理并在交互过程中设置构建代理。

这些链接可能会有所帮助

于 2013-08-07T16:27:54.513 回答
1

最后我解决了链接构建的问题。

例如,当我对生产构建进行排队时,顺序如下:

  1. 无需 UI 测试即可构建、部署到登台
  2. 仅构建,不部署,暂存 UI 测试
  3. 无需 UI 测试即可构建、部署到生产环境
  4. 构建,不部署,仅生产 UI 测试

我从这篇博文中得到了解决方案:

Post 的作者在 GitHub Gist 中发布了修改后的 DefaultTemplate.xaml(构建定义):

整个博主的学分!

于 2013-08-09T08:14:50.700 回答
0

一种简单的解决方案是在构建定义中指定一个中间 msbuild 项目文件,然后从那里调用实际的解决方案文件。

然后,您可以在构建前或构建后执行任何所需的操作,以确保在 TFS 执行测试之前环境已启动并运行。我们会在 TFS 运行我们的集成测试之前编译和部署数据库。

这是一种避免操作构建模板的解决方案。

于 2013-08-07T13:29:25.313 回答