我正在尝试使用Selenium Web Driver来自动化我的浏览器集成测试.我看到Chrome Dev Tools附带了一个控制台API,用于从JavaScript内部调用某些开发工具功能.
理想情况下,从我的Java/JUnit集成测试中,我可以启动Chrome Dev Tool内存分析器(可能还有其他一些工具),运行我的WebDriver测试(实例化Chrome浏览器实例,操作DOM元素等),然后停止探查器,然后检查探查器的结果,看看是否有任何内存泄漏.
这个概念是否可行,还是我出去吃午饭?为什么/为什么不呢?
似乎API已经有了console.profile()启动分析会话,并且a console.profileEnd().所以理论上我可以让WebDriver调用这两个方法并在它们之间运行测试.
我认为缺失的链接然后以编程方式与分析会话的结果进行交互...
integration-testing profiling memory-leak-detector google-chrome-devtools selenium-webdriver
我知道它Fetch Domain用于此目的,但我不知道如何准确地实现它。在 Selenium python 中,我使用以下代码来启用requestPaused事件的发出。
driver.execute_cdp_cmd("Fetch.enable",{})
driver.get('https://www.example.com')
Run Code Online (Sandbox Code Playgroud)
但我不知道如何处理requestPaused事件(我需要调用 1fulfillRequest或continueRequest/ continueWithAuth)。结果,我的程序停止工作。如果有人能为我提供一个例子来帮助我理解它是如何工作的,我真的很感激。
selenium google-chrome-devtools fetch-api chrome-devtools-protocol selenium4