在我的自动化测试期间,我试图从我的控制台日志中获取一个 url,但由于某种原因,它只在我的打印输出中显示了所有控制台错误。如何显示控制台日志中的所有内容,然后选择我想要的 url。我试过 Server , Client , Performance 和 Driver ,但没有从它们那里得到任何东西,对在控制台中拉出任何 apis/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());
}
}
答案 0 :(得分:0)
我相信浏览器的控制台日志默认只显示错误,这就是为什么你只看到它们。加载的网址不会去那里。
可能您还需要另一个LogType
?我这边没有设置,但可能尝试启用所有 LogType.CLIENT
、LogType.SERVER
和 LogType.DRIVER
,看看是否有您需要的东西。如果是这样,请尝试一一关闭,看看哪个是合适的 LogType
。