我在Selenium Webdriver项目中使用Logback,但我遇到了一些障碍。我在线搜索但未能找到答案。
我正试图找到一种方法,允许我在setup()
方法中获取测试用例名称(testGoogleWebsite)。因此,打印"开始测试 - testGoogleWebsite"
我知道我可以在每个测试的第一行做LOG.debug("testGoogleWebsite");
,但想知道是否有更好的方法。
我的测试:
@Test
public void testGoogleWebsite() {
openGoogleWebsite();
searchForStackOverflow();
clickOnStackOverflowLink();
}
@BeforeTest
public void setup() throws FileNotFoundException {
LOG.debug("Starting test - ");
driver = new ChromeDriver();
}
@AfterTest
public void tearDown(){
LOG.debug("End of test");
}
我的回溯文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="DEV_HOME" value="target/Logs" />
<appender name="FILE-AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${DEV_HOME}/debug.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>${DEV_HOME}/archived/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="com.test" level="debug" additivity="false">
<appender-ref ref="FILE-AUDIT" />
</logger>
<root level="debug">
<appender-ref ref="FILE-AUDIT" />
</root>
</configuration>
答案 0 :(得分:1)
我认为您正在谈论记录您的testacse名称(因为testGoogleWebsite是我看到的测试用例名称)。为此,您可以将LOG.debug("Starting test - ");
放入beforeMethod。
代码段
@BeforeMethod
public void beforeMethod(Method method) {
LOG.debug("Starting test - " + method.getName(););
}
这将根据需要记录您的每个测试用例名称。