我正在使用chromedriver来测试javascript webapp。如何通过chromedriver和selenium获取内存使用信息(chrome dev工具的“History”选项卡上显示的信息类型)。
这让我觉得应该可以,因为chromedriver使用chrome的devtools的调试系统与chrome进行交互并控制它。
我目前用于selenium的语言是java,但是如果你能提供任何语言的例子,那么这些语言就会受到重视。
答案 0 :(得分:1)
正如您在评论中提到的,当您使用Selenium时,无法启动devTool。
但是,有一个关于通过chrome API(javascript)检索内存使用情况(堆快照)的有趣讨论:https://code.google.com/p/chromium/issues/detail?id=448379。 如果Chromium开发团队实现了这一点,您可以使用Selenium执行JavaScript来获取堆快照。
答案 1 :(得分:1)
我在chrome中做了这样的事情,以获取应用程序的javascript内存使用量
Chrome驱动程序应使用以下chromeOptions 打开。
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--enable-precise-memory-info"); // enabling this flag to get precise js heap memory info for chrome browser
WebDriver driver = new RemoteWebDriver(new URL(localhost:4444+"/wd/hub"), chromeOptions);
&然后使用以下逻辑,我们可以获取Chrome实例的JavaScript内存使用情况
JavascriptExecutor executor = (JavascriptExecutor) driver;
long value = (long) executor.executeScript("return window.performance.memory.usedJSHeapSize");
long valueInMB = value / (1024 * 1024);
PS:我只能在chrome浏览器中找到此内容,而在Firefox中找不到。