AzureTestPlan@0 - Azure 测试计划 v0 任务

在 Java、JavaScript 和 Python 语言的测试计划中运行手动和自动测试。

注释

此任务以公共预览版提供。

语法

# Azure Test Plan v0
# Run manual and automated tests points of test plan for different testing frameworks like Maven and Gradle for Java, PyTest for Python and Jest for JavaScript.
- task: AzureTestPlan@0
  inputs:
    testSelector: # 'manualTests' | 'automatedTests'. Required. Test cases to be executed. 
    testPlanOrRunSelector: 'testPlan' # 'testPlan' | 'testRun'. Required. Select tests using. Default: testPlan.
    #testRunId: '$(test.RunId)' # string. Required when testPlanOrRunSelector = testRun. Test Run. Default: $(test.RunId).
    testPlan: # string. Required when testPlanOrRunSelector = testPlan. Test plan. 
    testSuite: # string. Required when testPlanOrRunSelector = testPlan. Test suite. 
    testConfiguration: # string. Required. Test configuration. 
    #testLanguageInput: # 'JavaMaven' | 'JavaGradle' | 'Python' | 'JavaScriptJest'. Select Test framework language. 
    #pomFilePath: # string. Optional. Use when testLanguageInput = JavaMaven. Pom file path. 
    #gradleFilePath: # string. Optional. Use when testLanguageInput = JavaGradle. Gradle file path. 
    #failTaskOnFailedTests: true # boolean. Fail if there are test failures. Default: true.
    #failTaskOnFailureToPublishResults: false # boolean. Fail if there is failure in publishing test results. Default: false.
    #failTaskOnMissingResultsFile: false # boolean. Fail if no result files are found. Default: false.
  # advanced
    #publishRunAttachments: true # boolean. Upload test results files. Default: true.

输入

testSelector - 要执行的测试用例
string。 必填。 允许的值: manualTests (手动测试)、 automatedTests (自动测试)。

  • 手动测试: 使用此选项可从测试计划中触发手动测试。
  • 自动化测试: 使用此选项可以从您的测试计划运行具有与之关联的 Automated Test Method 的测试。
  • .

testPlanOrRunSelector - 使用 选择测试
string。 必填。 允许的值: testPlan (Test plan)、 testRun (Test run)。 默认值:testPlan

  • 测试组装: 使用此选项可以指定包含测试的一个或多个测试组合件。 可以选择指定筛选条件以仅选择特定测试。
  • 测试计划: 使用此选项可以从测试计划运行具有与之关联的自动测试方法的测试。
  • 试运转: 在设置环境以从测试中心运行测试时,请使用此选项。 在持续集成/持续部署 (CI/CD) 管道中运行测试时,不应使用此选项。
  • .

testRunId - 测试运行
string。 当 testPlanOrRunSelector = testRun 时,需要此选项。 默认值:$(test.RunId)

从测试中心触发自动测试运行时,将使用基于测试运行的选择,该值应保持原样。


testPlan - 测试计划
string。 当 testPlanOrRunSelector = testPlan 时,需要此选项。

键入或粘贴包含带有测试用例的测试套件的测试计划 ID。


testSuite - 测试套件
string。 当 testPlanOrRunSelector = testPlan 时,需要此选项。

选择一个或多个包含测试用例的测试套件。


testConfiguration - 测试配置
string。 必填。

选择 Test Configuration (测试配置)。


testLanguageInput - 选择 Test framework language
string。 允许的值: JavaMaven (Java - Maven)、 JavaGradle (Java - Gradle)、 Python (Python - PyTest)、 JavaScriptJest (JavaScript - Jest)。

测试框架 测试计划中自动测试的语言。


pomFilePath - Pom 文件路径
string。 可选。 当 testLanguageInput = JavaMaven时使用。

从存储库根目录到 Maven POM 文件的相对路径。


gradleFilePath - Gradle 文件路径
string。 可选。 当 testLanguageInput = JavaGradle时使用。

从仓库根目录到 build.gradle 文件的相对路径。


publishRunAttachments - 上传测试结果文件
boolean。 默认值:true

上传包含运行测试时收集的诊断信息的日志和其他文件。


如果测试失败,则 failTaskOnFailedTests - 失败
boolean。 默认值:true

如果有任何测试失败,则任务失败。 如果在结果文件中检测到测试失败,请选中此选项以使任务失败。


如果发布测试结果失败,failTaskOnFailureToPublishResults - 失败
boolean。 默认值:false

如果发布测试结果失败,则失败。 如果发布测试结果部分失败,请选中此选项以使任务失败。


如果找不到结果文件,则 failTaskOnMissingResultsFile - 失败
boolean。 默认值:false

如果未找到任何结果文件,则任务失败。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 “控制”选项和常见任务属性

输出变量

没有。

注解

将自动化测试与测试计划集成

按照以下步骤将自动测试与手动测试用例集成,并从Test Plans或通过生成管道中的Azure Test Plan任务执行它们:

  1. 确保项目位于 Azure DevOps Repos(或 GitHub Repos)中。

  2. 创建一个管道,该管道使用 Gradle 或 Maven 等任务运行测试。 如果您的测试已作为现有管道的一部分执行,则可以跳过此步骤。 运行测试是必不可少的 — 只有在测试至少执行一次后,它们才可用于与手动测试用例相关联。

     trigger: none
    
     pool:
       vmImage: ubuntu-latest
    
     steps:
     - task: Gradle@3
       inputs:
         gradleWrapperFile: 'gradlew'
         workingDirectory: '$(Build.SourcesDirectory)'
         tasks: 'build'
         publishJUnitResults: true
         testResultsFiles: '**/TEST-*.xml'
         testRunTitle: 'gridinitialexecution'
         javaHomeOption: 'JDKVersion'
         sonarQubeRunAnalysis: false
         spotBugsAnalysis: false
    
  3. 下一步是将管道运行摘要的 Test (测试) 选项卡中的测试用例链接到手动测试用例工作项。 为此,请创建一个新的测试用例或使用现有的测试用例(请注意 TC4 的 Automation Status 列):

    没有自动化的测试用例的屏幕截图。

  4. 获得测试用例后,返回到管道运行摘要页面,并将您的自动化测试与测试用例相关联。

    Azure Pipelines 中的关联体验屏幕截图

  5. 下面介绍了如何判断手动测试用例是否具有关联的自动测试:

    具有自动化的测试用例的屏幕截图。

    具有关联自动测试的测试用例的屏幕截图。

  6. 现在,测试用例已与手动测试用例工作项相关联,您可以通过在 Azure Test Plan 任务中将测试计划作为参数传递,将其作为管道的一部分执行。

    trigger: none
    pool:
      vmImage: ubuntu-latest
    
    steps:
    - task: AzureTestPlan@0
      inputs:
        testSelector: 'automatedTests'
        testPlanOrRunSelector: 'testPlan'
        testPlan: '21294'
        testSuite: '229461'
        testConfiguration: '82'
        testLanguageInput: 'JavaGradle'
    

保存并运行流水线。

以下是管道结果摘要,其中显示了 TC4 的结果以及其他测试用例:

关联自动化选项卡的屏幕截图。

要求

要求 DESCRIPTION
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
要求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
Settable 变量 任意
代理版本 2.144.0 或更高版本
任务类别 测试