Azure Load Testing修改TestId/换资源组时无法创建新测试求助
问题场景
测试配置YAML:
version: v0.1 testId: NAME testPlan: sampleTest description: 'Load Test' engineInstances: 1 failureCriteria: - avg(response_time_ms) > 15000 - percentage(error) > 10
流水线任务配置:
- task: AzureLoadTest@1 inputs: azureSubscription: ${{ connection }} loadTestConfigFile: '$yaml path' resourceGroup: ${{ ResourceGroup }} loadTestResource: ${{ TestResource }} env: ...
问题:使用原有testId和资源组时流水线正常执行,修改testId或切换到新资源组时,持续出现以下错误:
error: `{ error: { code: 'TestNotFound', message: 'Test couldn\'t find with given identifier NAME', target: null, details: null } } ##[error]Error in getting the test.`
根据官方文档,testId不存在时应自动创建新测试,但该功能未生效。
解决方案
- 检查服务连接权限:确保
azureSubscription对应的服务主体,在目标资源组及负载测试资源上拥有Azure Load Test Contributor角色权限。新资源组默认不会继承原有权限,需手动配置。 - 修正testId命名格式:Azure负载测试的
testId仅允许小写字母、数字和连字符,且必须以字母开头,长度限制为1-64字符。当前配置中的NAME为大写,不符合规则,会导致自动创建测试失败,建议改为name或其他符合规则的ID。 - 确认负载测试资源状态:新资源组中的负载测试资源需完成部署初始化(通常需要1-5分钟),未就绪状态下无法创建测试,可等待资源完全就绪后再运行流水线。
- 验证配置文件路径:检查
loadTestConfigFile的路径变量是否正确解析,避免因路径错误导致任务无法读取配置文件,进而无法创建新测试。若使用变量引用,建议移除单引号,改为$(yamlPath)或${{ variables.yamlPath }}格式。 - 升级任务版本:确保使用最新版本的
AzureLoadTest@1任务,旧版本可能存在自动创建测试的功能缺陷。 - 临时 workaround:手动预创建测试:若以上方案无效,可先在Azure门户的目标负载测试资源中手动创建对应
testId的测试,再运行流水线验证是否正常执行,以此排查权限或资源配置问题。
内容的提问来源于stack exchange,提问作者ht1994G
相关产品推荐
相关产品推荐

