我正在尝试使用虚拟机环境设置应用程序的自动化测试。
我想要的是以下场景:
- 构建服务器自动触发启动应用程序的自动化测试
- 然后运行“构建”脚本,其中包括:
- 将应用程序文件和测试脚本复制到VM可访问的位置
- 启动VM
- 在VM中,一个特殊的应用程序查看共享文件夹并启动测试脚本
- 测试脚本执行其工作,结果输出到共享文件夹
- 测试脚本结束
- 特殊应用程序然后删除测试脚本
- 特殊应用程序以某种方式使VM管理器关闭VM并还原到先前的快照
- 当VM退出时,处理结果并发送到构建服务器。
如果有必要我使用TeamCity。对于虚拟机,我们使用VirtualBox,但如果需要,我们可以使用任何其他虚拟机。
是否有适合管理此方案的应用程序/套件?
如果没有,那么我将编写自己的代码,这应该很容易,但唯一不确定的部分是处理虚拟机。
我需要能够在测试后关闭VM并还原到先前的快照,因为我希望它处于下一个测试的已知状态。
有什么建议吗?