2016-11-09 85 views
0

我在我的Selenium Webdriver項目中使用Logback,並且遇到了一些障礙。我在線搜索,但無法找到答案。Java - 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"); 
} 

我的logback文件:

<?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> 

回答

1

我認爲你是在談論你的登錄名testacse(如testGoogleWebsite是一個測試用例的名字我看到)。要做到這一點,你可以把你的LOG.debug("Starting test - ");放入beforeMethod。

代碼片斷

@BeforeMethod 
public void beforeMethod(Method method) { 
    LOG.debug("Starting test - " + method.getName();); 
} 

這將記錄您的每一個測試用例名稱作爲你想。