在Azure中大量VM上进行CodedUI测试

时间:2019-02-15 23:11:58

标签: azure azure-devops azure-pipelines coded-ui-tests

简而言之,我要完成的主题是。该测试适用于连接到本地托管服务器的Windows客户端。我需要CodedUI测试才能在尽可能多的VM上运行。

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

我希望知道他们在说什么的人可以对此有所帮助。我想做的事可行吗?我需要什么所有的东西?我可以同时运行一个测试的虚拟机数量有上限吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

Azure DevOps管道可以帮助您完成此任务。不过有一些注意事项。

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

第一个问题,因为您使用的是Windows客户端,所以Microsoft托管的代理可能无法工作,因为它们与您的网络没有连接。您可以使用自托管代理,但这意味着您现在可以管理虚拟机。

第二个问题,定价不是基于分钟,而是基于并发作业的数量。如果您希望能够一次在20个代理上运行测试,则即使您每月只运行5分钟,也必须支付20个并发作业的费用。

戴上我富有创造力的思想……这是一个可以与单个Microsoft托管代理一起使用的解决方案。您可以创建一个执行以下操作的ARM模板:

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

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

此解决方案的优点是可以在网络中的VM上运行,而无需您长期维护或购买VM。