#java #selenium #testing #logging #automated-tests
Вопрос:
Я пытаюсь получить URL-адрес из журнала моей консоли во время моих автоматических тестов, но по какой-то причине он показывает только все ошибки консоли в моей распечатке. Как я могу показать все, что есть в моем журнале консоли, а затем выбрать нужный URL-адрес. Я пробовал сервер , клиент, производительность и драйвер, но ничего не получил от них, какая-либо помощь в извлечении каких-либо API/URL-адресов в консоли? Код, который я использую:
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
options.addArguments("--window-size=1920x1080");
options.addArguments("--disable-cache");
//options.addArguments("--headless");
options.addArguments("--disable-application-cache");
options.addArguments("--disk-cache-size=0");
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--dns-prefetch-disable");
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.INFO);
options.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
//options.addArguments("--no-sandbox"); // Bypass OS security model
options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
driver = new ChromeDriver(options);
public static void analyzeLog() {
LogEntries entry = driver.manage().logs().get(LogType.BROWSER);
// Retrieving all log
List<LogEntry> logs= entry.getAll();
// Print one by one
for(LogEntry e: logs)
{
System.out.println(e);
}
// Printing details separately
for(LogEntry e: logs)
{
System.out.println("Message is: " e.getMessage());
System.out.println("Level is: " e.getLevel());
}
}
Ответ №1:
Я считаю, что журнал консоли браузера по умолчанию отображает только ошибки, поэтому вы видите только их. Загруженные URL-адреса туда не попадают.
Наверное, вам нужен другой LogType
? У меня нет настроек на моей стороне, но , вероятно, попробуйте включить все LogType.CLIENT
, LogType.SERVER
LogType.DRIVER
и посмотрите, будет ли там то, что вам нужно. Если это так, попробуйте выключать один за другим, чтобы увидеть, какой из них подходит LogType
.
Комментарии:
1. Остальные, похоже, ничего не возвращают, у них просто истекает время ожидания, кроме сервера, который ничего не возвращает