You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline中BrowserStack Results任务报‘Build not found by name’问题

问题解决:Azure Pipeline中Playwright+BrowserStack的Build找不到错误及相关警告

问题概述

在Azure Pipeline运行TypeScript版Playwright自动化测试时,遇到两个问题:

  1. BrowserStack Results任务报错:Build not found by name: "azure-IRef.AutomatedTests - POC - BS-829099"
  2. npm自定义任务出现警告:Can't find loc string for key: Info_GotAndMaskAuth

1. 解决“Build not found by name”错误

这个错误的核心是Playwright测试未将指定的Build名称上报到BrowserStack,导致后续Results任务无法匹配到对应Build记录。

步骤1:修改Playwright配置,传递Build名称到BrowserStack

你的playwright.config.ts已读取BROWSERSTACK_BUILD_NAME变量,但未在测试配置中传递给BrowserStack。需更新配置如下:

import { defineConfig, devices } from '@playwright/test';
import { config } from 'dotenv';

const defaultEnv = process.env.ENV_VARS || 'qa';
const buildName = process.env.BROWSERSTACK_BUILD_NAME;

config({
  path: `./env/.env.${defaultEnv}`,
});

require('dotenv').config();

export default defineConfig({
  metadata: {
    actionTimeout: 1000,
    shortTimeout: 3000,
    mediumTimeout: 30000,
    longTimeout: 40000,
    veryLongTimeout: 50000,
    // 新增:将buildName加入metadata,确保测试结果关联指定Build
    build: buildName
  },

  testDir: './tests',
  fullyParallel: true,
  forbidOnly: !!process.env.CI,
  retries: process.env.CI ? 1 : 0,
  workers: process.env.CI ? 1 : undefined,
  reporter: [
    ['html', { open: 'never' }], 
    ["line"], 
    ['list', { printSteps: true }], 
    ['json', { outputFile: 'test-results.json' }], 
    ['junit', { outputFile: 'results.xml' }],
    // 新增:如果使用BrowserStack官方Reporter,添加该配置
    ['browserstack', {
      buildName: buildName,
      projectName: '你的项目名称' // 替换为实际项目名
    }]
  ],
  use: {
    baseURL: '',
    trace: 'on',
    screenshot: 'on',
    video: 'on',
    actionTimeout: 5000,
    // 关键:通过BrowserStack远程运行测试时,需配置该参数
    ...(process.env.CI ? {
      browserstack: {
        buildName: buildName,
        username: process.env.BROWSERSTACK_USERNAME,
        accessKey: process.env.BROWSERSTACK_ACCESS_KEY,
      }
    } : {})
  },
  timeout: 0,

  projects: [
    {
      name: 'chromium',
      use: {
        ...devices['Desktop Chrome'],
      }
    },
  ],
});

步骤2:验证Azure Pipeline变量一致性

从日志可知Pipeline已设置BROWSERSTACK_BUILD_NAME=azure-IRef.AutomatedTests - POC - BS-829099,需确保:

  • 该变量在运行Playwright测试的npm任务中可访问(可在任务的环境变量中显式传递)
  • 测试任务必须在BrowserStack Results任务之前运行,确保BrowserStack后台已生成对应Build记录

步骤3:检查BrowserStack后台的Build名称

登录BrowserStack后台,确认存在名称完全匹配的Build(注意大小写、空格、符号均需一致)。


2. 关于警告“Can't find loc string for key: Info_GotAndMaskAuth”

这个警告是Azure Pipeline内部任务的本地化字符串缺失问题,和当前Build找不到错误完全无关,不会影响测试运行或结果上报,可直接忽略。


内容的提问来源于stack exchange,提问作者user26468708

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:44:54