如何使用单例Selenium Driver降低自动化测试内存占用?
pytest + Selenium 自动化测试资源占用过高问题解决
问题背景
使用pytest结合Selenium做网站自动化测试时,多个测试函数、工具类会各自创建独立的Selenium Driver实例,执行完成后关闭。即便启用了headless模式,大量Chrome实例仍会导致内存、CPU占用过高,机器频繁卡死。
尝试优化:单例模式复用全局Driver
- 为减少Driver实例数量,尝试通过单例模式实现全局唯一Driver
- 实施过程中遇到
MaxRetryError连接异常,修正单例调用逻辑(确保Driver实例初始化后被正确复用,避免重复创建连接)后,连接问题解决 - 但CPU占用过高、机器冻结的问题仍未得到改善
最终解决办法:提升机器核心数
即便复用了单个Driver实例,Chrome在渲染页面、执行JS等自动化操作时仍会消耗大量CPU资源,原有机器核心数不足导致系统调度瓶颈。通过增加机器核心数后,CPU占用压力得到缓解,机器不再出现冻结情况。
内容的提问来源于stack exchange,提问作者ajax
相关产品推荐
相关产品推荐

