Python Selenium PageObject模式下关闭driver仍触发ResourceWarning问题
Selenium资源未释放警告解决方法
核心问题
你触发警告的原因是错误使用了driver.close()方法释放资源,该方法无法销毁整个WebDriver会话和底层socket连接。
两个关闭方法的区别
driver.close():仅关闭当前处于激活状态的浏览器标签页/窗口,不会终止WebDriver进程,也不会主动断开和Appium服务端的TCP连接,残留的socket资源没有被回收就会触发ResourceWarning。driver.quit():关闭所有关联的窗口,主动通知服务端销毁当前测试会话,断开TCP连接,彻底释放所有占用的资源。
四次警告的原因
Appium和WebDriver交互的过程中,会在会话初始化、命令发送、结果拉取、会话收尾四个阶段分别建立socket连接,你没有正确释放会话,四个连接的残留资源就会依次触发警告。
修复方案
把tearDown方法中的代码替换为:
def tearDown(self): self.driver.quit()
内容的提问来源于stack exchange,提问作者Alan Filas
相关产品推荐
相关产品推荐

