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

Nunit 远程虚拟机上的自动化UI测试策略,nunit,automated-tests,teamcity,ui-automation,psexec,Nunit,Automated Tests,Teamcity,Ui Automation,Psexec,我正在使用TeamCity进行CI构建,我想设置第二个构建,以便在Windows XP和Windows 7虚拟机上运行自动UI测试 我认为构建工作如下所示: 编译、运行单元测试等 使用WiX准备MSI 将MSI复制到目标测试机器 远程执行MSI的 将测试线束代码复制到远程机器 运行测试 建筑饰面 自动化UI测试是使用NUnit编写的,需要直接在测试虚拟机上运行(它们不能远程运行)。重要的是,如果测试失败,它将出现在TeamCity构建日志中,并且构建失败。我不希望在任何一台测试虚拟机上安装VS或

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

我认为构建工作如下所示:

  • 编译、运行单元测试等
  • 使用WiX准备MSI
  • 将MSI复制到目标测试机器
  • 远程执行MSI的
  • 将测试线束代码复制到远程机器
  • 运行测试
  • 建筑饰面
  • 自动化UI测试是使用NUnit编写的,需要直接在测试虚拟机上运行(它们不能远程运行)。重要的是,如果测试失败,它将出现在TeamCity构建日志中,并且构建失败。我不希望在任何一台测试虚拟机上安装VS或TeamCity构建代理

    看来,这其中的大部分应该是可以使用的。有没有其他的(最好是开源的)工具我应该看看?

    团队的Jeff Brown已经有了一个名为的工具,他正计划编写这个工具来支持这种需求。这听起来很有希望,但我认为迄今为止在这方面没有多大进展

    然而,与此同时,Gallio项目中有一个叫做“可以做你想做的事”的东西。它提供停止、启动和快照虚拟机的命令,更重要的是,提供来回复制文件和执行命令的命令

    我想你也考虑过了吧?

    深吸一口气

    我们正在研究一些东西来帮助我们完成自动化的UI测试。我们使用ranorex测试UI,使用TeamCity/Msbuild执行测试

    我们从未找到任何工具来帮助我们解决问题(我一直在关注一些问题,所以我会监视这个线程),但下面是我们所做的

  • CI服务器将安装文件和测试脚本复制到测试主机服务器
  • 然后,CI服务器在测试主机服务器上启动一个自定义应用程序,提供要启动的VM的名称
  • 然后,测试主机服务器使用
    Virtual PC.exe-singlepc-PC vhdname.vhd-launch
    启动VM软件,并等待它关闭(在运行测试之后)
  • VM从网络位置获取设置文件和脚本并执行
  • 测试运行后,它会将结果返回到联网位置,并自行关闭
  • 控件返回到自定义应用程序
  • 控件返回给CI服务器,该服务器根据结果确定其是否通过或失败(并更新UI,以便让开发人员知道结果)
  • 结果在TeamCity中作为工件收集,并在Svn中标记
  • 我想这就是一切。然而,它是复杂的,它是有效的。希望有人能帮助你