Chrome Dev Tools API和Selenium WebDriver

IAm*_*aja 18 integration-testing profiling memory-leak-detector google-chrome-devtools selenium-webdriver

我正在尝试使用Selenium Web Driver来自动化我的浏览器集成测试.我看到Chrome Dev Tools附带了一个控制台API,用于从JavaScript内部调用某些开发工具功能.

理想情况下,从我的Java/JUnit集成测试中,我可以启动Chrome Dev Tool内存分析器(可能还有其他一些工具),运行我的WebDriver测试(实例化Chrome浏览器实例,操作DOM元素等),然后停止探查器,然后检查探查器的结果,看看是否有任何内存泄漏.

这个概念是否可行,还是我出去吃午饭?为什么/为什么不呢?

似乎API已经有了console.profile()启动分析会话,并且a console.profileEnd().所以理论上我可以让WebDriver调用这两个方法并在它们之间运行测试.

我认为缺失的链接然后以编程方式与分析会话的结果进行交互...

Tom*_*ero 6

您实际上可以使用上面@loislo提到的调试器协议 - 您可能会发现更有用的链接https://developer.chrome.com/devtools/docs/debugger-protocol

只需在打开Chrome时添加标记并进行远程调试即可!:)


loi*_*slo 5

Chrome DevTools包含两部分,分别是UI的前端和渲染器的本机代码的后端。这些部分通过协议相互配合。该协议在protocol.js文件中描述

当Chrome公开可用于与DevTools后端部分进行交互的tcp套接字时,它可以在远程调试模式下工作。此功能已在Chrome浏览器遥测工具集中积极使用

这个工具集是用python编写的,我们将其与协议的当前版本保持同步。该工具集具有用于处理堆分析器部分和DevTools的其他部分的代码