远程虚拟机上的自动UI测试策略

时间:2010-08-26 09:14:28

标签: nunit automated-tests teamcity ui-automation psexec

我正在使用TeamCity进行CI构建,我想设置第二个版本,用于在Windows XP和Windows 7虚拟机上运行自动UI测试。

我想构建的工作原理如下:

  1. 编译,运行单元测试等
  2. 使用WiX准备MSI
  3. 将MSI复制到目标测试计算机
  4. 远程执行MSI的
  5. 将测试线束代码复制到远程计算机
  6. 运行测试
  7. 构建完成
  8. 自动UI测试是使用NUnit编写的,需要直接在测试虚拟机上运行(它们无法远程运行)。重要的是,如果测试失败,它将出现在TeamCity构建日志中,并且构建失败。我宁愿不在任何一个测试虚拟机上安装VS或TeamCity构建代理。

    使用psexec.exe似乎可以实现大部分内容。是否有任何替代(最好是开源)工具,我应该看看?

2 个答案:

答案 0 :(得分:7)

深呼吸

我们正在寻找能够帮助我们完成自动UI测试的东西。我们使用ranorex来测试UI,并使用TeamCity / Msbuild来执行测试。

我们从来没有找到任何工具来帮助我们(我会不断关注某些人,所以会监视这个帖子)但是这就是我们所做的。

  1. CI服务器将安装文件和测试脚本复制到测试主机服务器。
  2. CI服务器然后在测试主机服务器上启动自定义应用程序,提供要启动的VM的名称。
  3. 然后,测试主机服务器使用Virtual PC.exe -singlepc -pc vhdname.vhd -launch启动VM软件,并等待它关闭(在运行测试之后)。
  4. VM从网络位置抓取设置文件和脚本并执行。
  5. 运行测试后,它会将结果返回到联网位置并自行关闭。
  6. 控件将返回自定义应用。
  7. 控制权返回CI服务器,CI服务器根据结果确定是否已通过或失败(并更新UI,以便开发人员了解结果)。
  8. 结果是在TeamCity中收集为工件并在Svn中标记。
  9. 我认为这就是一切。然而,它很复杂,它的工作原理。希望有人帮助你。

答案 1 :(得分:2)

<{3}}团队的杰夫·布朗Gallio已经talking about了一个名为Archimedes的工具,他计划编写这个工具来支持这种要求。这听起来很有希望,但我认为到目前为止还没有取得多大进展。

同时,Gallio项目中有一些名为VM Tool的东西可以做你想要的。它提供了停止,启动和快照虚拟机的命令,更重要的是,来回复制文件和执行命令。

我认为您还考虑了Powershell Remoting