在 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任務執行它們:
確保項目位於 Azure DevOps Repos(或 GitHub Repos)中。
創建一個管道,該管道使用 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下一步是將管道運行摘要的 Test (測試) 選項卡中的測試用例連結到手動測試用例工作項。 為此,請創建一個新的測試用例或使用現有的測試用例(請注意 TC4 的 Automation Status 列):
獲得測試用例后,返回到管道運行摘要頁面,並將您的自動化測試與測試用例相關聯。
下面介紹了如何判斷手動測試用例是否具有關聯的自動測試:
現在,測試用例已與手動測試用例工作項相關聯,您可以通過在 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 的結果以及其他測試用例:
需求
| 要求 | 說明 |
|---|---|
| 管線類型 | YAML、傳統組建、傳統版本 |
| 執行於 | Agent、DeploymentGroup |
| 要求 | 沒有 |
| 能力 | 此工作不符合作業中後續工作的任何需求。 |
| 命令限制 | 任意 |
| Settable 變數 | 任意 |
| 代理程式版本 | 2.144.0 或更新 |
| 工作類別 | 測試 |