有没有可能以某种方式获得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);
发布于 2014-05-07 16:58:26
在您正在使用的驱动程序中启用日志记录,选择您感兴趣的日志类型和日志级别(我正在使用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);
然后,在运行测试之后,您可以收集日志(我只收集驱动程序日志,但您可以对任何类型的日志执行相同的操作)
Logs logs = driver.manage().logs();
LogEntries logEntries = logs.get(LogType.DRIVER);
for (LogEntry logEntry : logEntries) {
System.out.println(logEntry.getMessage());
}
发布于 2013-09-27 04:36:56
发布于 2012-11-04 23:44:37
我使用log4j进行日志记录,因为utils logger是可以使用的最简单和直接的工具(IMHO)。
POM依赖关系:
<dependency>
<groupId> org.apache.cassandra</groupId>
<artifactId>cassandra-all</artifactId>
<version>0.8.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.6.6</version>
<scope>runtime</scope>
</dependency>
导入如下:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
用法:
private static Logger log = LoggerFactory.getLogger(classname.class);
然后就像这样使用它:
logger.info ("butonCLick");
driver.findElement(By.id("blablabla")).click();
希望这对你有用。
https://stackoverflow.com/questions/13204820
复制相似问题