我希望能够在Azure测试计划中运行自动化测试,并在yml文件中定义所有内容。
我所做的: 我在天蓝色的DevOps中有一个存储库,其中包含以.NET核心编写的多个测试。这些与天青测试计划中的测试用例相关联。 通过将.yml文件添加到我的仓库中,我还创建了一个Azure管道。该管道包括两个阶段,一个阶段用于构建,另一个阶段实际上按夜间时间表运行所有测试。
但是,我希望手动测试人员也能够从Azure测试计划中触发自动化测试。官方文档说,必须创建一个发布管道才能这样做。所以我的问题是:
为什么需要发布管道?我已经有了构建管道,我不会发布任何版本,只希望能够通过单击按钮从测试计划中运行测试。
如果真的必须创建发布管道,该如何在yml文件中定义它?官方文档只提到了“经典”,天蓝色DevOps中的手动步骤,但是我不想手动添加管道,我想在yml文件中定义所有内容。
是否可以将我的测试容器化?我已经在构建管道中做到了,但是由于找不到在yml中定义发布管道的方法,所以我不知道如何在docker容器中运行它们。
答案 0 :(得分:1)
Azure Pipelines提供了引人入胜的编排工作流,以获取作为工件的测试二进制文件并运行测试。此工作流程与计划的测试工作流程中使用的概念相同,这意味着在计划的工作流程中运行测试的用户会发现它很容易适应;例如,通过克隆现有的预定测试发布管道。 另一个主要好处是可以使用丰富的任务目录集,这些任务目录允许在运行测试之前和之后执行一系列激活。示例包括准备和清除测试数据,创建和清除配置文件,等等。
要在yml中定义发布管道,您应该转到预览功能页面并打开“多级管道”的切换开关。 下面是一个简单的示例。
stages: - stage: Build jobs: - job: Build pool: vmImage: 'Ubuntu-16.04' continueOnError: true steps: - script: echo my first build job - stage: Deploy jobs: # track deployments on the environment - deployment: DeployWeb pool: vmImage: 'Ubuntu-16.04' # creates an environment if it doesn’t exist environment: 'smarthotel-dev' strategy: # default deployment strategy runOnce: deploy: steps: - script: echo my first deployment
更多详细信息,您可以参考https://devblogs.microsoft.com/devops/whats-new-with-azure-pipelines/