首页
/ Web Test Runner 在 Firefox 135.0 版本中的测试问题分析与解决方案

Web Test Runner 在 Firefox 135.0 版本中的测试问题分析与解决方案

2025-07-02 12:12:45作者:钟日瑜

问题背景

近期在使用 Web Test Runner 进行自动化测试时,开发者发现当测试环境升级到 Firefox 135.0 版本后,测试用例开始出现异常失败。这个问题特别体现在同时运行多个测试文件时,而单独运行每个测试文件却能成功通过。

问题现象

经过多个测试场景的验证,可以总结出以下现象:

  1. 当测试单个文件时(无论是.js还是.html格式),所有测试都能正常通过
  2. 当同时测试两个不同类型的文件(一个.js和一个.html)时,测试会失败
  3. 增加测试文件数量后,某些组合测试会通过,但同类型文件组合(如两个.js或两个.html)仍会失败
  4. 增加浏览器启动超时时间(从默认值增加到4分钟)并不能解决这个问题
  5. 回退到 Firefox 134.0 版本后,问题有所改善,但两个.html文件组合测试仍然会失败

根本原因分析

经过深入调查,发现问题源于 Firefox 135.0 版本对非活动标签页的处理机制发生了变化。Web Test Runner 默认会使用多个标签页并行执行测试文件以提高效率,而现代浏览器(特别是 Firefox 135.0+)会对非活动标签页进行显著的性能限制,甚至会"阻塞"某些事件的执行。

这种优化机制虽然能提高浏览器整体性能,但却影响了自动化测试工具的正常工作,因为测试工具需要所有标签页都能及时响应测试指令。

临时解决方案

在等待官方修复期间,开发者可以采用以下临时解决方案:

  1. 设置并发数为1:在配置文件中添加 concurrency: 1,这会强制测试工具只使用一个标签页运行测试
  2. 增加浏览器启动超时时间:同时设置 browserStartTimeout: 240000(4分钟)可以进一步确保稳定性

这种组合配置虽然会降低测试的并行效率,但能确保测试的稳定性。

永久解决方案

Playwright 团队已经在 1.52.0 版本中修复了这个问题。升级到该版本后,开发者可以移除上述临时解决方案,恢复正常的多标签页并行测试模式。

最佳实践建议

  1. 保持测试工具和浏览器驱动的最新版本
  2. 在CI/CD环境中,考虑增加适当的超时设置
  3. 对于复杂的测试套件,可以分批运行测试以减少并行带来的问题
  4. 定期检查测试工具的更新日志,了解已知问题和修复情况

总结

浏览器自动化测试是一个复杂的领域,浏览器版本的更新往往会带来意想不到的兼容性问题。通过这次事件,我们再次认识到:

  1. 浏览器对非活动标签页的优化可能影响自动化测试
  2. 测试工具需要不断适应浏览器行为的变化
  3. 在遇到类似问题时,调整并发策略是一个有效的临时解决方案
  4. 及时更新测试工具依赖是保持测试稳定性的关键

开发者应当建立完善的测试监控机制,及时发现并解决这类兼容性问题,确保自动化测试的可靠性。

登录后查看全文
热门项目推荐
相关项目推荐