0


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

本文转载自: https://blog.csdn.net/liweiweili126/article/details/133307261
版权归原作者 liweiweili126 所有, 如有侵权,请联系我们删除。

“python使用selenium执行测试用例后台chrome进程跑满CPU”的评论:

还没有评论