ChromeDriver Невозможно добавить ведение журнала производительности в Selenium Java - PullRequest
0 голосов
/ 18 июня 2020

Я просмотрел результаты веб-поиска и ответы на stackoverflow на этом топи c, но не смог найти никого с такой же проблемой. Ниже приведен код для включения ведения журнала производительности, который я использую:

    ChromeOptions options = new ChromeOptions();

    // options.addArguments("--headless");
    options.addArguments("--remote-debugging-port=9222");
    options.addArguments("--no-sandbox");
    options.addArguments("--disable-application-cache");
    options.addArguments("--disable-notifications");
    options.addArguments("--disable-dev-shm-usage");
    options.addArguments("--disable-extensions");
    options.addArguments("--test-type");
    options.addArguments("start-maximized");
    options.addArguments("disable-infobars");
    //options.addArguments("user-data-dir=C:\\apps\\selenium\\chrome\\data");
    options.setExperimentalOption("useAutomationExtension", false);
    options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));

    // add Network logging
    LoggingPreferences logPrefs = new LoggingPreferences();
    logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
    options.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);

    Map<String, Object> perfLogPrefs = new HashMap<String, Object>();
    perfLogPrefs.put("enableNetwork", true);
    perfLogPrefs.put("traceCategories", "devtools.network");
    options.setExperimentalOption("perfLoggingPrefs", perfLogPrefs);

    webDriver = new ChromeDriver(options);

    webDriver.manage().deleteAllCookies();
    webDriver.manage().window().maximize();

При выполнении выдает следующую ошибку:

    Starting ChromeDriver 80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}) on port 27252
    Only local connections are allowed.
    Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
org.openqa.selenium.InvalidArgumentException: invalid argument: entry 0 of 'firstMatch' is invalid
from invalid argument: perfLoggingPrefs specified, but performance logging was not enabled
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03

Что мне не хватает в приведенном выше? В примерах кода используется ChromeDriver (Capabilities), но он устарел. Есть ли какой-то другой параметр, который мне нужно включить перед добавлением журнала производительности?

Спасибо

1 Ответ

0 голосов
/ 18 июня 2020

Мне удалось найти ответ на вопросы SeleniumHQ . По сути, CapabilityType.LOGGING_PREFS не работает в этой версии ChromeDriver. Я изменил строку

options.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);

на

options.setCapability("goog:loggingPrefs", logPrefs);

имя предпочтения было изменено на goog: loggingPrefs, чтобы оно соответствовало W3 C. После этого изменения я смог собирать сетевые журналы.

...