Test Studio在Azure DevOps CI中使用microsoft托管代理进行测试
Test Studio测试列表可以在Chrome Headless模式下在microsoft托管代理中执行。本文将指导您完成设置Azure管道的过程,以便在microsoft托管的代理中运行。
提示
看看我们关于在microsoft托管代理中进行测试.
环境条件
下面列出了Test Studio和Azure DevOps方面的先决条件。在继续下一步之前,请确保遵守它们。
- 启用Azure DevOps帐户,以配置微软托管的代理虚拟机,并使用最新的Chrome版本。
- 活跃的测试工作室运行时许可证和。msi安装程序。Test Studio的最低版本是2021 R3。
免责声明
在microsoft托管的代理中执行测试有其特殊性和局限性。在你着手之前最好先了解一下他们。
- microsoft托管代理中的测试可以是只能在Headless浏览器模式下执行,因为容器没有UI。这是Chrome无头浏览器类型在测试工作室。
- 的失败的图像在microsoft托管代理中运行测试生成的结果中不可用。
什么是Microsoft-Hosted Agent
Azure管道可以配置为使用不同类型的代理来运行它们的任务。的Microsoft-hosted代理是这些选项之一——这是在管道运行时创建的虚拟机,它基于Microsoft在Azure DevOps中授予的操作系统映像。正在运行的虚拟机具有Azure代理,它自动连接到Azure项目中的代理池,最新的Chrome和Edge浏览器,Visual Studio和其他工具,默认情况下都设置为以管理员身份运行。这个操作系统镜像的管理是由Microsoft Azure DevOps团队支持的,他们会每周更新一次。
请注意
microsoft托管的代理虚拟机不使用GUI会话或UI。因此它可以是仅用于无头浏览器测试测试工作室支持Chrome浏览器。
设置Azure管道以在microsoft托管的代理上执行无头测试
运行Test Studio测试需要安装Test Studio运行时版本-这是一个用于测试执行的独立产品包只有。运行时版本的一个许可与Test Studio Ultimate捆绑包一起分发,或者,它可以是购买分开。
一旦您拥有一个有效的Test Studio runtime许可,您就可以下载*。msi安装程序从你的这里的电话账户并将其添加到Azure Pipeline中工件与Azure项目相关。这样,当创建代理时,它就可以部署在microsoft托管的代理上。
将运行时安装程序添加为工件
打开工件视图,并选择要在其中添加Test Studio运行时安装程序的提要。然后选择连接馈线选项,以便在提要中添加工件。如果你需要进一步的信息Azure DevOps中的feed,你可以参观关于这个主题的微软文档页面.
选择通用包选项。如何发布包的说明列在列表的右侧。必须使用Azure CLI登录并发布安装程序文件—您可以找到示例命令,需要根据您的项目具体情况对其进行调整。如果你需要进一步的信息发布通用包,你可以参观关于这个主题的微软文档页面.
上传成功后,为作为工件列出并且可以在该项目的Azure管道中使用。
创建自由表单管道
要创建将在MHA中运行测试的Azure Pipeline,可以从经典的编辑器.
选择将Test Studio项目部署到microsoft托管代理机器的存储库。在这个例子中,我使用了Azure Git存储库。一定要使用测试列表,设置为在无头模式下使用Chrome浏览器对于这个管道,测试运行。
定义源位置后,选择空管道模板和应用到管道。
设置管道使用microsoft托管的代理池
创建管道后,您可以更改其名称并设置代理程序池被使用对于microsoft托管代理,您需要选择Azure管道池。当选择此选项时,您可以在运行管道时选择要安装在虚拟机上的默认映像。
在microsoft托管的Agent上下载并安装Test Studio运行时
你可以使用通用包任务下载Test Studio运行时安装程序构件。
确保列出您在发布包时输入的工件的提要、名称和版本。
要触发下载包的安装,请添加下一个任务并选择命令行选择。
可以使用命令触发安装msiexec命令由于缺乏UI会话而处于被动模式。在下面查找要在任务中使用的示例命令。
msiexec.exe /i c:\TestStudio_Runtime_2021_3_1103_1。Msi /passive /le c:\errorlog.txt
在microsoft托管的代理上执行测试
可以将管道中的下一个任务设置为执行测试。要触发测试列表运行,您可以再次使用命令行的任务。在其中,您可以使用选项被称为ArtOfTest.Runner.exe.
屏幕截图中的示例使用选项为结果文件设置自定义名称并生成junit格式化的运行结果。在这个命令中,我使用Azure提供的$(Build.Repository.LocalPath)变量.建议使用硬编码路径等环境变量,可能会导致一些误操作失败。
此任务的另一个重要设置是更改其控制选项来"继续出错".这样,无论测试执行结果如何,测试结果发布任务都将被执行。
发布在microsoft托管代理上生成的结果
同时发布Test Studio结果文件和junit格式的文件。这需要设置单独的任务。
创建一个发布管道构件任务将Test Studio结果文件作为工件上传到管道中。
的junit属性将格式化的结果发布到管道构建摘要中公布测试结果的任务。
对于这两个任务,您都可以使用该变量$ (Build.Repository.LocalPath).
运行Azure管道
通过这种方式设置管道,您可以在microsoft托管的代理VM上触发Test Studio无头测试执行。
在运行总结您可以找到运行的有用细节,并访问Test Studio结果文件进行下载。
在测试节中,您可以看到基于的测试结果摘要junit格式化结果。