TFS CodedUI测试工作流程与单独的UI测试解决方案?

时间:2015-03-12 17:31:23

标签: build workflow tfsbuild coded-ui-tests microsoft-test-manager

我想知道Team Foundation Server上编码ui测试的典型工作流程。

我们目前的工作流程是:

  • UI Build Definition会触发Main Build Definition
  • Main Build Definition将构建Main SolutionUI Test Solution
  • 然后UI Build Definition将部署结果并开始在虚拟机上测试它。

现在我想跳过主要解决方案的构建,并且只使用最新版本,因为对于小型UI测试修复,此工作流程总是需要再次构建整个解决方案,但我还没有想到如何创建像:

这样的工作流程
  • 选择Main Solution
  • 的最后一个版本
  • 构建新的UI Test Solution
  • 将两者部署到VM上并开始测试

这甚至可能吗?

我希望能够选择主要解决方案应该基于哪个版本(例如使用最新版本),但我无法弄清楚如何告诉TFS也构建新的UI解决方案:(

感谢您的意见。

2 个答案:

答案 0 :(得分:2)

听起来您希望使用两个不同的放置位置来部署二进制文件:位置A 用于“高效”二进制文件,位置B 用于测试二进制文件。

我想你正在使用Build-Deploy-Test workflow

我能想象的唯一方法是自定义 Build-Deploy-Test 工作流程:

  • 创建一个新参数,该参数应该用于告知工作流构建定义正在构建生产二进制文件(您的“主要构建定义”)
  • 在工作流程中使用此参数,以找出此构建定义的上次成功构建的放置位置
  • 使用此放置位置将“生产”二进制文件部署到测试环境
  • Build-Deploy-Test 工作流构建您的“UI测试解决方案”,它将自动从此drop文件夹部署测试二进制文件

请查看此文章:Customization to specify test binaries location other then build drop location 本文描述了一种更简单的静态方法,可以在特定的静态位置使用测试二进制文件,但它可以帮助您实现场景。

答案 1 :(得分:1)

我在我工作的项目上遇到过类似的问题。我们决定以不同的方式解决它 - 我不确定它是你想要的但也许它会对你有所帮助:

我们已经创建了一个运行测试的预定构建,而不是自动测试构建依赖于主构建。 在我们的测试中,我们已经包含了一个先决条件类,该类进入TFS放置位置并选择最新版本(或我们想要的任何其他版本),将其部署到自动测试环境并开始在其上运行测试。

这样我们就可以独立于主构建控制我们运行的版本,但与之无关。