如何从Azure DevOps发布管道触发现有Azure负载测试
触发已有Azure负载测试并传递配置文件的解决方案
一、复用现有测试,避免创建新实例
在Azure DevOps的Azure负载测试任务中,默认会在指定名称的测试不存在时新建,存在时仍创建副本。要直接触发已有测试,需调整任务参数:
- 若已知目标测试的ID,直接使用
test-id参数替代test-name,精准指定现有测试; - 若仍想通过名称匹配,添加
existing-test-action参数并设置为run,此时同名测试存在时会直接启动运行,而非创建新测试。
示例YAML任务配置:
- task: AzureLoadTesting@1 inputs: azureSubscription: '<你的Azure服务连接>' loadTestResource: '<你的负载测试资源名称>' existingTestAction: 'run' # 核心参数:存在同名测试时直接运行 testName: '<现有测试名称>' testPlan: '<测试脚本路径(如JMeter脚本)>'
二、传递CSV及其他配置文件
要将CSV、配置文件等传递到负载测试运行中,需确保文件已在管道工件或代码仓库内,再通过以下配置实现:
- 上传文件到测试资源:在任务中通过
files参数指定要上传的文件路径,多个文件可分行列出; - 脚本中引用文件:如果测试脚本(如JMeter)需要读取这些文件,使用相对路径即可,上传后的文件会被放置在测试运行的工作目录下。
示例YAML配置(包含文件上传):
- task: AzureLoadTesting@1 inputs: azureSubscription: '<你的Azure服务连接>' loadTestResource: '<你的负载测试资源名称>' existingTestAction: 'run' testName: '<现有测试名称>' testPlan: '$(System.DefaultWorkingDirectory)/scripts/test.jmx' files: | $(System.DefaultWorkingDirectory)/data/user-data.csv $(System.DefaultWorkingDirectory)/config/env.properties
三、额外注意事项
- 确保Azure服务连接拥有负载测试资源的参与者权限,否则无法修改现有测试或上传文件;
- 若需动态调整测试参数(如并发用户数、持续时间),可通过
loadTestConfig参数传入JSON配置,覆盖现有测试的默认设置。
内容的提问来源于stack exchange,提问作者Sagar
相关产品推荐
相关产品推荐

