Поскольку селен может взаимодействовать только с самим браузером, я не думаю, что вы можете использовать его для загрузки ЦП с сервера, и то же самое с размером кучи JS.
Вы можете получить Java размер кучи, созданной вашим скриптом;это будет доступно для селена.Но я не думаю, что вы можете получить информацию об использовании сервера без какого-либо другого инструмента или без непосредственного изучения сервера.
РЕДАКТИРОВАТЬ
После немного больше размышлений и поиска вы сможете получитьваш JS размер кучи с использованием Selenium JavascriptExecutor, так что вы должны иметь возможность получить значение window.performance.memory.usedJSHeapSize
на любом этапе тестирования.Ниже приведен код.
public static Double reportMemoryUsage(WebDriver webDriver, String message) {
((JavascriptExecutor) webDriver).executeScript("window.gc()");
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
LOGGER.error(e.getLocalizedMessage());
}
return Double usedJSHeapSize = (Double) ((JavascriptExecutor) webDriver)
.executeScript("return window.performance.memory.usedJSHeapSize/1024/1024");
LOGGER.info("Memory Usage at " + usedJSHeapSize + " MB.”);
}
Если вы вызываете этот метод один раз в начале вашего набора тестов и один раз в конце, разница между двумя значениями usedJSHeapSize должна обеспечивать пространство кучи, вызываемое вашим сценарием Selenium.
Я принудительно собираю мусор перед использованием usedJSHeapSize, чтобы убедиться, что информация о мусоре не собирается.Чтобы включить функцию gc в окне, вам нужно установить опцию -js-flags=--expose-gc
.
ChromeOptions options = new ChromeOptions();
options.addArguments("-js-flags=--expose-gc");
WebDriver webDriver = new ChromeDriver(options);
Дайте мне знать, если вы все еще хотите найти размер кучи Java из вашего скрипта иЯ думаю, что могу придумать что-нибудь для этого.