python使用selenium执行测试用例后台chrome进程跑满CPU

python使用selenium实现的自动化测试工具,执行每个用例结束后,在任务管理器中会出现越来越多的后台chrome进程,在python代码中也有执行webdriver.quit()和service.stop()等释放资源的动作,但是这些后台chrome进程不知道是怎么生成的,就是关闭不掉,结果就是主机的CPU被跑满,然后卡死。

在网上没有找到问题出现的原因,我的解决方案就是,使用psutil库,执行完一个用例后将后台所有的webdriver启动的chrome进程全部kill掉。

执行一个用例结束后调用下面的函数,将OS中的chrome进程杀掉

def kill_wbchrome_process():
    # 检查 Chrome 进程的命令行参数
    def is_webdriver_process(proc):
        cmd_args = proc.cmdline()
        for arg in cmd_args:
            if 'webdriver' in arg.lower():
                return True
        return False

    # 获取所有 Chrome 进程
    chrome_processes = [proc for proc in psutil.process_iter() if proc.name().lower() == 'chrome.exe']
    # 遍历 Chrome 进程并杀死非用户态的进程
    for proc in chrome_processes:
        try:
            if is_webdriver_process(proc):
                proc.kill()
                print(f"Killed Chrome Process: {proc.pid}")
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值