是否可以以某种方式获得Selenium WebDriver使用的记录器?我想捕获已发出的所有命令的记录(例如:打开,等待,单击等)。特别是我正在寻找Java解决方案,因为我正在将测试导出到junit中。
我在他们的网站上找到了此代码,但是在标准输出中什么也没有显示
DesiredCapabilities caps = DesiredCapabilities.firefox(); LoggingPreferences logs = new LoggingPreferences(); logs.enable(LogType.DRIVER, Level.FINEST); caps.setCapability(CapabilityType.LOGGING_PREFS, logs); driver = new FirefoxDriver(caps);
在正在使用的驱动程序中启用日志记录,选择您感兴趣的日志类型和日志级别(我正在使用FirefoxDriver,启用所有类型的日志并收集所有日志消息)
LoggingPreferences logs = new LoggingPreferences(); logs.enable(LogType.BROWSER, Level.ALL); logs.enable(LogType.CLIENT, Level.ALL); logs.enable(LogType.DRIVER, Level.ALL); logs.enable(LogType.PERFORMANCE, Level.ALL); logs.enable(LogType.PROFILER, Level.ALL); logs.enable(LogType.SERVER, Level.ALL); DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox(); desiredCapabilities.setCapability(CapabilityType.LOGGING_PREFS, logs); WebDriver driver = new FirefoxDriver(desiredCapabilities);
然后,在运行测试之后,您可以收集日志(我仅收集DRIVER日志,但是您可以对任何类型的日志进行相同的操作)
Logs logs = driver.manage().logs(); LogEntries logEntries = logs.get(LogType.DRIVER); for (LogEntry logEntry : logEntries) { System.out.println(logEntry.getMessage()); }