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

如何让Azure DevOps流水线中的Playwright读取配置文件的baseURL

解决Azure DevOps流水线中Playwright未加载baseURL的问题

问题根源

你的playwright.config.ts放在项目根目录,但流水线的Bash任务设置了workingDirectory: 'tests',Playwright默认会从当前工作目录查找配置文件,所以在tests目录下找不到根目录的配置,导致baseURL未被加载,page.goto('/relative/url')就变成了无效的相对URL。

两种修复方案

方案1:修改工作目录为项目根目录,指定测试目录运行

调整Bash任务的工作目录为根目录,让Playwright自动加载根目录的配置文件,同时指定测试目录路径:

修改后的流水线Bash任务:

- task: Bash@3
  displayName: 'Run Playwright tests'
  inputs:
    workingDirectory: '.' # 改为项目根目录
    targetType: 'inline'
    failOnStderr: true
    script: |
      npm install # 在根目录安装依赖,对应根目录的package.json
      npx playwright test tests/ # 指定测试文件所在目录

方案2:显式指定配置文件路径

如果不想修改工作目录,可以在npx playwright test命令中通过--config参数,直接指定根目录的配置文件路径:

修改后的流水线Bash任务:

- task: Bash@3
  displayName: 'Run Playwright tests'
  inputs:
    workingDirectory: 'tests'
    targetType: 'inline'
    failOnStderr: true
    script: |
      npm install ../ # 安装根目录的依赖包
      npx playwright test --config ../playwright.config.ts # 显式指定配置文件位置

额外注意事项

  • 确保项目根目录的package.json包含Playwright相关依赖,npm install必须在对应目录执行才能安装全量依赖。
  • 流水线的执行逻辑尽量和本地保持一致(比如本地在根目录运行测试,流水线也对应调整),减少环境差异导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:30:53