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

Playwright测试在Azure DevOps中变慢且忽略全局超时的原因排查

问题描述

我使用Playwright(搭配NodeJS)运行测试,本地或Azure DevOps中原本正常运行全程约90分钟,已设置120分钟的全局超时以终止所有测试。但近期测试在DevOps中耗时长达6小时,直至触发Azure超时才停止,本地测试仍正常。由于任务超时,无法获取完整日志,测试初期运行正常,最终出现以下报错:

Azure DevOps错误信息:

##[Error 1] We stopped hearing from agent Azure Pipelines 2. Verify the agent machine is running and has a healthy network connection. Anything that terminates an agent process, starves it for CPU, or blocks its network access can cause this error.

Playwright任务错误信息:

##[section]This job was abandoned. We have detected that logs from the agent may have not finished uploading. We have included our in-memory record of all log lines uploaded before we lost contact with the agent:

问题:是什么原因导致Playwright测试在Azure DevOps中突然大幅变慢,且忽略Playwright设置的全局超时?

我已尝试多种设置,在Azure中仅运行少量测试时一切正常,仅全量运行时出现错误,目前正在排查是否由特定测试导致。

可能的原因及排查方向
  • Agent资源耗尽:全量测试运行时,Azure Pipelines Agent的CPU、内存或磁盘IO被占满,导致Agent进程响应缓慢甚至卡住,无法向Azure DevOps服务发送心跳,最终触发任务被遗弃。这种情况下Playwright的全局超时可能因为进程被阻塞而无法正常触发。
  • 特定测试引发资源泄漏/死锁:仅全量运行出问题,大概率是某几个测试存在内存泄漏、页面未正确关闭、浏览器进程残留等情况,随着测试推进,资源占用持续升高,拖慢整体速度,甚至导致Agent无响应。
  • 网络层面的阻塞:全量测试中涉及大量网络请求时,Azure Agent所在环境的网络可能出现波动、限流或连接中断,导致测试步骤长时间等待网络响应,而Playwright的全局超时可能未覆盖这类网络等待逻辑,最终整体耗时远超设置值。
  • 全局超时配置未生效:检查Playwright的globalTimeout配置是否正确加载,或者测试 runner(如jest、mocha)是否设置了更长的超时时间,覆盖了Playwright的全局设置。
  • Agent环境兼容性问题:近期Azure Agent的操作系统、浏览器版本、依赖库可能有更新,与Playwright出现兼容性冲突,全量测试时这种冲突被放大,引发性能骤降。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 08:30:21