如何从Azure Pipeline执行Tricentis QTest并回传报告?是否有相关插件/API?
在Azure Pipeline中执行Tricentis QTest并发布报告的实现方案
一、流水线执行QTest并发布报告的步骤
1. 配置QTest服务连接
在Azure DevOps项目的项目设置 > 服务连接中,新增QTest类型的连接,填入你的QTest实例URL、API密钥(从QTest账户中生成),完成认证配置。
2. 集成QTest测试执行
有两种实现方式:
- 使用官方插件任务:安装QTest插件后,在流水线中添加
QTest - Execute Test Suite任务,选择已配置的服务连接,指定QTest项目ID、测试套件ID,设置执行参数即可触发测试。 - 通过脚本调用API:如果需要自定义逻辑,可在流水线中添加Shell/PowerShell任务,调用QTest的测试执行触发API,示例Bash脚本:
curl -X POST "https://your-qtest-instance.com/api/v3/projects/{projectId}/test-suites/{suiteId}/executions" \ -H "Authorization: Bearer YOUR_QTEST_API_KEY" \ -H "Content-Type: application/json" \ -d '{"name":"Azure Pipeline Execution","build":{"id":"$(Build.BuildId)","name":"$(Build.DefinitionName)"}}'
3. 发布测试报告到流水线
测试执行完成后,调用QTest API导出JUnit格式的测试结果文件,再用Azure Pipeline的PublishTestResults任务将报告上传到流水线结果:
- task: PublishTestResults@2 displayName: 'Publish QTest Test Results' inputs: testResultsFormat: 'JUnit' testResultsFiles: '**/qtest-results.xml' mergeTestResults: true failTaskOnFailedTests: false # 根据需求设置是否因测试失败终止流水线
二、Azure DevOps的QTest插件支持
Azure DevOps Marketplace提供Tricentis官方发布的QTest for Azure DevOps插件,该插件直接集成了测试执行触发、结果同步、构建关联等功能,无需手动编写大量API调用脚本,安装后可在流水线任务列表中直接选用。
三、可用于流水线的QTest API
QTest提供REST API支持流水线集成,常用接口包括:
- 触发测试执行:
POST /api/v3/projects/{projectId}/test-suites/{suiteId}/executions,用于启动指定测试套件的执行,可关联当前流水线构建信息。 - 导出测试结果:
GET /api/v3/projects/{projectId}/test-executions/{executionId}/export,支持导出JUnit、HTML等格式的报告文件。 - 同步构建信息:
POST /api/v3/projects/{projectId}/builds,将Azure Pipeline的构建元数据同步到QTest,实现测试与构建的关联追踪。
内容的提问来源于stack exchange,提问作者Sathiya
相关产品推荐
相关产品推荐

