【问题标题】:Strategy for Automated UI testing on remote virtual machines在远程虚拟机上进行自动化 UI 测试的策略
【发布时间】:2010-08-26 09:14:27
【问题描述】:
我将 TeamCity 用于我的 CI 构建,并且我想设置第二个构建以在 Windows XP 和 Windows 7 虚拟机上运行自动化 UI 测试。
我想象构建工作如下:
- 编译、运行单元测试等
- 使用 WiX 准备 MSI
- 将 MSI 复制到目标测试机器
- 远程执行 MSI 的
- 将测试工具代码复制到远程机器
- 运行测试
- 构建完成
自动化 UI 测试是使用 NUnit 编写的,需要直接在测试虚拟机上运行(它们不能远程运行)。重要的是,如果测试失败,它会出现在 TeamCity 构建日志中并且构建失败。我宁愿不在任一测试虚拟机上安装 VS 或 TeamCity 构建代理。
似乎使用psexec.exe 应该可以实现大部分操作。有没有我应该考虑的替代(最好是开源)工具?
【问题讨论】:
标签:
nunit
automated-tests
teamcity
ui-automation
psexec
【解决方案1】:
深呼吸
我们正在寻找一些东西来帮助我们进行自动化 UI 测试。我们使用 ranorex 来测试 UI 和 TeamCity/Msbuild 来执行测试。
我们从来没有找到任何工具来帮助我们(我一直在关注一些工具,所以会监控这个帖子),但我们这样做了。
- CI 服务器将设置文件和测试脚本复制到测试主机服务器。
- CI 服务器然后在测试主机服务器上启动一个自定义应用程序,提供要启动的 VM 的名称。
- 然后测试主机服务器使用
Virtual PC.exe -singlepc -pc vhdname.vhd -launch 启动 VM 软件,并等待它关闭(在它运行测试之后)。
- VM 从网络位置获取设置文件和脚本并执行。
- 运行测试后,它会将结果返回到联网位置并自行关闭。
- 控制权返回给自定义应用程序。
- 控制权返回给 CI 服务器,该服务器根据结果确定它是通过还是失败(并更新 UI,以便开发人员了解结果)。
- 结果在 TeamCity 中作为工件收集并在 Svn 中标记。
我认为这就是一切。然而,它令人费解,但它确实有效。希望有人能帮到你。