我想了解selenium与firefox的问题, 我使用 Firefox 版本 56.0.2,selenium3.5.1,和 geckodriver 0.19.1,服务器 ubuntu(x64) 操作系统,firefox --headless 模式 我发现当我长时间运行我的应用程序时,firefox内存会增加很多,例如400MB或更多,并且当我让firefox打开
about:blank
时,内存不会减少
我想知道如何减少firefox内存(不杀死firefox进程),仅使用selenium来控制firefox或通过一些配置启动firefox
我想打开“about:blank”或其他URL来减少内存,但我发现它不起作用;
不,Selenium本身不使用任何内存。消耗内存的是 WebDriver 和 Web Browser 进程。例如,当您创建任何 WebDriver 变体的新实例来启动相关的 Web 浏览会话时,两个进程都会消耗内存。
现在,不同的 Browser Client 变体将遵循不同且不同的方法和风格来
initiate
、manage
和 teardown
浏览器内部流程。所以不同浏览器的内存消耗会有所不同。
回答您的问题:
当我长时间运行我的应用程序时,Firefox 内存会增加很多:在粗略处理活动浏览会话时,浏览器二进制文件必须跟踪大量内存(堆栈内存/堆内存) )不时提供资源。因此,内存消耗可以根据情况增加/减少。
我想知道如何减少firefox内存:不,你无法控制浏览器的内存消耗。
网络浏览器最近已经发展了很多。每个Web浏览器变体,例如Mozilla、Chrome 和 Internet Explorer 正在不断致力于开发更节省内存的浏览器进程。您可以采取以下步骤进行自动化测试以消耗最佳内存:
如果您的 Web 浏览器的基础版本太旧,您可以考虑通过 Revo Uninstaller卸载 Web 浏览器,然后安装最新的 stable 和 GA 版本的 Web 浏览器.
在测试执行之前和之后使用CCleaner工具来清除操作系统系统杂务。
在隔离系统中执行测试执行,无需手动干预
将测试系统保留在测试实验室内,并配备硬件要求以执行测试套件。
一种解决方法:
重置驱动会释放资源;这是您可以控制内存消耗的一种方式。