2016-11-09 7 views
0

Я использую Logback в своем проекте Selenium Webdriver, и я достиг небольшого контрольно-пропускного пункта. Я ищу в Интернете, но не смог найти ответ.Java - логин для отображения имени тестовой системы

Я пытаюсь найти способ, который позволяет мне получить имя testcase (testGoogleWebsite) один раз внутри метода setup(). Таким образом, вместо того, чтобы просто печатать «Запуск теста» он печатает «Запуск теста - 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 это имя TestCase я вижу). Для этого вы можете поместить свой LOG.debug("Starting test - "); в beforeMethod.

Фрагмент кода

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

Это будет регистрировать ваш каждый и каждое имя TestCase, как вы хотели.