Azure 中大量虚拟机的 CodedUI 测试

CodedUI testing on a large number of VMs in Azure

主题行是我想要完成的简而言之。测试是针对连接到本地托管服务器的 Windows 客户端。我需要在尽可能多的虚拟机上 运行 进行 CodedUI 测试。

我不熟悉 Azure 以及所有与之相关的术语,但已经做了一些研究,看起来 Azure Pipelines 可以帮助我完成我需要的事情。我公司的 Azure 管理员不熟悉 Pipelines,并询问我是否需要为此使用 Microsoft 管理的 Azure DevOps。

我希望知道他们在说什么的人可以帮助我解决这个问题。我正在尝试做的事情可行吗?我需要哪些零件?我可以同时 运行 测试的虚拟机数量是否有上限?

提前致谢!

Azure DevOps Pipelines 可以帮助您实现这一目标。不过也有一些注意事项。

UI 测试 Web 应用程序的标准方法是创建一个包含您的应用程序和测试的构建,然后使用内置 "Visual Studio Test" 任务创建新的发布定义,以及运行 在许多 Microsoft 托管代理 (VM) 上发布。

第一个问题,由于您使用的是 windows 客户端,Microsoft 托管的代理可能无法工作,因为它们无法连接到您的网络。您可以使用自托管代理,但这意味着您现在需要管理 VM。

第二个问题,不是按分钟计费,而是按并发任务数计费。如果您希望能够 运行 一次对 20 个代理进行测试,则必须支付 20 个并发作业的费用,即使您每月只 运行 测试 5 分钟。

戴上我的创造性思维帽...这是一个适用于单个 Microsoft 托管代理的解决方案。您可以创建一个执行以下操作的 ARM 模板:

  • 建立任意数量的虚拟机
  • 使用 VM 扩展和 Powershell DSC and/or 其他脚本来配置 VM(您可以安装 Windows 功能、连接到您的域、安装 Chrome 等)
  • 运行 powershell 脚本从某处(例如文件服务器或 Azure 存储)下载您的应用程序、配置和测试工具,然后 运行 您的测试并发布结果

您的发布管道会将 ARM 模板部署到新的资源组,等待,然后在测试完成后删除所有内容。

此解决方案的好处是 运行在您网络中的 VM 上运行,而无需您长期维护 VM 或为 VM 付费。