Java - Logback显示测试用例名称

标签 java selenium logback slf4j

我在 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>

最佳答案

我认为您正在谈论记录您的测试用例名称(因为 testGoogleWebsite 是我看到的测试用例名称)。为此,您可以将 LOG.debug("Starting test - "); 放在 beforeMethod 中。

代码片段

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

这将根据您的需要记录您的每个测试用例名称。

关于Java - Logback显示测试用例名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40512615/

相关文章:

javascript - Vaadin onbeforeunload 事件

java - 我可以以编程方式设置 Spring Boot 的日志位置吗?

spring - 如何为配置中尚未存在的任何 spring 配置文件指定默认 Logback 配置

Java:通过运行时修改系统属性

c# - 使用 Selenium 等待帧加载

android - LogBack - 使用应用程序信息设置日志记录模式

java - 我可以将对象添加到队列中而不用担心它会在多线程应用程序中中断吗?

java - 将 org.reSTLet.data.MediaType 转换为 com.google.common.net.MediaType

java - 在每个方法中不关闭 javax.sql.DataSource 可以吗?

javascript - 期望(array_values).toBeGreaterThan(Some_Value)