【问题标题】:Strategy for Automated UI testing on remote virtual machines在远程虚拟机上进行自动化 UI 测试的策略
【发布时间】:2010-08-26 09:14:27
【问题描述】:

我将 TeamCity 用于我的 CI 构建,并且我想设置第二个构建以在 Windows XP 和 Windows 7 虚拟机上运行自动化 UI 测试。

我想象构建工作如下:

  1. 编译、运行单元测试等
  2. 使用 WiX 准备 MSI
  3. 将 MSI 复制到目标测试机器
  4. 远程执行 MSI 的
  5. 将测试工具代码复制到远程机器
  6. 运行测试
  7. 构建完成

自动化 UI 测试是使用 NUnit 编写的,需要直接在测试虚拟机上运行(它们不能远程运行)。重要的是,如果测试失败,它会出现在 TeamCity 构建日志中并且构建失败。我宁愿不在任一测试虚拟机上安装 VS 或 TeamCity 构建代理。

似乎使用psexec.exe 应该可以实现大部分操作。有没有我应该考虑的替代(最好是开源)工具?

【问题讨论】:

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


    【解决方案1】:

    深呼吸

    我们正在寻找一些东西来帮助我们进行自动化 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 服务器,该服务器根据结果确定它是通过还是失败(并更新 UI,以便开发人员了解结果)。
    8. 结果在 TeamCity 中作为工件收集并在 Svn 中标记。

    我认为这就是一切。然而,它令人费解,但它确实有效。希望有人能帮到你。

    【讨论】:

      【解决方案2】:

      Gallio 团队的 Jeff Brown 一直是 talking about 一个名为 Archimedes 的工具,他计划编写该工具来支持这种需求。这听起来很有希望,但我认为到目前为止还没有太大的进展。

      不过,与此同时,Gallio 项目中有一个名为 VM Tool 的东西可以满足您的需求。它提供停止、启动和快照虚拟机的命令,更重要的是,可以来回复制文件和执行命令。

      我想你也考虑过Powershell Remoting

      【讨论】:

        猜你喜欢
        • 2017-10-20
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多