Chrome Dev Tools API和Selenium WebDriver

19
我正在尝试使用Selenium Web Driver自动化我的浏览器集成测试。我看到Chrome Dev Tools带有一个console API,可以从JavaScript内部调用某些开发工具函数。
理想情况下,在我的Java/JUnit集成测试内部,我可以启动Chrome Dev Tool内存分析器(以及其他一些工具),运行我的WebDriver测试(实例化一个Chrome浏览器实例,操作DOM元素等),然后停止分析器,检查分析器的结果是否存在任何内存泄漏。
这个概念是否可行?为什么/为什么不?
API似乎已经有一个console.profile()来开始分析会话,还有一个console.profileEnd()。因此,理论上我可以让WebDriver调用这两个方法并在它们之间运行测试。
我认为缺少的环节是以编程方式与分析会话的结果交互...

4
你有没有在这方面取得任何进展?我也对此很感兴趣。 - TWilly
2个回答

7

6
Chrome DevTools有两个部分,前端带有UI和后端在渲染器的本地代码中。这些部分通过协议相互配合。该协议在protocol.js文件中描述。
当Chrome暴露tcp套接字以与DevTools的后端部分进行交互时,它可以在远程调试模式下工作。这个功能在Chrome浏览器的Telemetry工具集中被广泛使用。

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


1
看起来遥测工具集链接不再维护,所以这两个链接都失效了 :( - Cameron Yick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接