【问题标题】:Many process of Google Chrome (32 bit)谷歌浏览器多进程(32位)
【发布时间】:2019-08-07 18:47:40
【问题描述】:

在 Chrome 中运行 2 个测试时,我观察到任务管理器中正在运行太多 Google Chrome(32 位)进程,这是 Chome 驱动程序的正确行为吗

【问题讨论】:

  • 我不知道它是否正确,但我注意到 Chrome 和 Firefox 每个浏览器启动大约 3 或 4 个实例......所以这是正常行为。 (无论您是否使用网络驱动程序都会发生这种情况......)

标签: selenium google-chrome selenium-webdriver webdriver selenium-chromedriver


【解决方案1】:

当通过 Google Chrome 执行多个 自动化测试 时,您一定已经观察到可能有几十个 Google Chrome 进程正在运行,它们可以通过 Windows 任务管理器的Processes 选项卡进行观察。

快照:

根据文章SOLVED: Why Google Chrome Has So Many Processes 以获得更好的用户体验 Google Chrome 为您打开的每个选项卡启动大量 后台进程自动化测试。谷歌试图通过将每个网页分成它认为合适的多个进程来保持浏览器的稳定性,以确保如果一个进程在页面上失败,则可以终止或刷新该特定进程,而无需终止或刷新整个页面。


但是,从 2018 年开始,Google Chrome 实际上已经重新设计,为以下每个实体创建了一个新流程:

  • 标签
  • 页面上的 HTML/ASP 文本
  • 已加载的插件
  • 已加载的应用程序
  • 页面内的框架

Chromium 博客 Multi-process Architecture 中提到:

谷歌浏览器利用这些属性,将网络应用程序和插件置于与浏览器本身不同的进程中。这意味着一个 Web 应用程序中的渲染引擎崩溃不会影响浏览器或其他 Web 应用程序。这意味着操作系统可以并行运行 Web 应用程序以提高其响应能力,这意味着如果特定的 Web 应用程序或插件停止响应,浏览器本身不会锁定。这也意味着我们可以在限制性沙箱中运行渲染引擎进程,这有助于在漏洞发生时限制损害。

作为结论,您看到的许多进程与 的当前实现几乎一致


结尾

您可以在How to quit all the Firefox processes which gets initiated through GeckoDriver and Selenium using Python找到相关讨论

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    相关资源
    最近更新 更多