Проблема (Вопрос) заключается …
Я попытался сделать перехват консолей браузера с помощью стандартных инструментов селениума - Логгирование в Selenium Webdriver - Selenium Webdriver для Java автоматизаторов
У меня получилось перехватить сообщения консоли бразера, для которых присвоены уровни info, warning, severe и т.д
У меня не получилось перехватить сообщения консоли, которые заданы в консоли фронтенда как console.log(msg). Во время перехвата из буд то не существует, но в консоли браузера они отображаются как
Код по примеру из ссылки выше.
sergueik
(Сергей Кузьмин)
17.Март.2020 22:44:47
#2
как говорят works for me - по крайней мере с remote driver:
(void) executeScript("console.log(arguments[0].value) ; console.log('just test') ; return arguments[0].value", element);
}
получаю
Analyze log:
Tue Mar 17 18:41:32 EDT 2020 INFO console-api 2:32 "18:41:32"
Tue Mar 17 18:41:32 EDT 2020 INFO console-api 2:66 "just test"
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.6
madvlaydin
(Vladislav Abramov)
18.Март.2020 03:57:22
#3
а пример кода можете привести, пожалуйста?
sergueik
(Сергей Кузьмин)
18.Март.2020 05:01:41
#4
извольте сударь - это (tree/master/remote_browser_log
) одна из директорий большего проекта
master/remote_browser_log
Collection of reusable loosely Selenium-related code - see https://github.com/sergueik/selenium_tests for strict Selenium test code examples - selenium_java/remote_browser_log at master · sergueik/...
учтите я тест этот привожу в чувтво
sergueik
(Сергей Кузьмин)
18.Март.2020 22:12:13
#5
завел отдеьный проект GitHub - sergueik/remote_browser_logs учтите с 3.14 похоже неработает
stokratt
(Михаил Новицкий)
19.Март.2020 08:36:48
#6
public Events(WebDriver driver, boolean httpsIgnore) {
Logs logs = driver.manage().logs();
String logType = LogType.BROWSER;
LogEntries logEntries = logs.get(logType);
List<LogEntry> all = logEntries.getAll();
for (LogEntry logEntry : all) {
System.out.println(logEntry);
//httpsIgnore = all.get(i).getMessage().contains("\"https:");
if (logEntry.getMessage().contains("google event:")) {
String line = logEntry.getMessage();
JsonObject object = getJsonFromLogLine(line);
setEvent(object);
}
}
}
Уменя все получает, в том числе и console.log