Как интегрировать log4j с TestNG? - PullRequest
1 голос
/ 25 марта 2019

Я пытаюсь запустить программу Selen-Testng, используя log4j.properites.Я хотел бы знать, как интегрировать мой класс testng с log4j.properties.

  1. Я создал образец google logintest, используя testNG
  2. Я создал log4j.properties в src / main./ resources
  3. Я написал фрагмент журнала для кода Logger log = Logger.getLogger (loginTest.class.getName ());
  4. Я попытался запустить тест, но не смог увидетьгенерируется любой журнал.Теперь я не уверен в следующих шагах - может, кто-нибудь, пожалуйста, проведет меня.

    открытый класс loginTest {

    WebDriver driver;
    Logger log = Logger.getLogger(loginTest.class.getName());
    
    
    @BeforeMethod
    public void setUp() {
        System.setProperty("webdriver.chrome.driver" , "C:/Users/User/Desktop/Selenium Drivers/chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://www.google.com/");
        driver.manage().window().maximize();
        driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
    }
    
    
    @Test
    public void titleTest() {
        String title = driver.getTitle();
        System.out.println(title);
        Assert.assertEquals(title, "Google");
    }
    
    @Test
    public void gmailLogoTest() {
        boolean b = driver.findElement(By.linkText("Gmail")).isDisplayed();
        Assert.assertTrue(true);
    }
    
    @AfterMethod
    public void tearDown() {
        driver.quit();
    
    
    }
    

    }

    Установить уровень

    log4j.rootCategory = отладка, консоль, файл

    Приложение, которое пишет в консоль

    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.layout =org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern =% d {MM-dd-гггг ЧЧ: мм: сс}% F% -5p [% t]% c {2}% L -% m% n

    Приложение, которое пишет в файл

    log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File = application.log

    Определение максимального размера файла журнала

    log4j.appender.file.MaxFileSize = 10 Мб.appender.file.layout.ConversionPattern =% d {ISO8601}% 5p [% t]% c {1}:% L -% m% n log4j.appender.file.Append = true

1 Ответ

3 голосов
/ 25 марта 2019

Я полагал, что у вас есть log4j.jar на вашем пути сборки.

В вашей папке src должен быть файл log4j.properties. Проверьте конфигурацию.

# Root logger option
log4j.rootLogger=DEBUG, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\Testlog.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Вот ваш тест:

package testpkg;

import java.io.File;
import java.util.concurrent.TimeUnit;
import org.apache.log4j.Logger;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;

public class loginTest {
WebDriver driver;
Logger log = Logger.getLogger(loginTest.class.getName());

  @BeforeMethod
  public void setUp() {
        //System.setProperty("webdriver.chrome.driver" , "C:/Users/User/Desktop/Selenium Drivers/chromedriver.exe");
      System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + File.separator + "\\Executables\\Chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://www.google.com/");
        driver.manage().window().maximize();
        driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
        driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
        log.debug("opening webiste");
    }

  @Test
  public void titleTest() {
        String title = driver.getTitle();
        System.out.println(title);
        Assert.assertEquals(title, "Google");
        log.debug("Title match");
    }

  @Test
  public void gmailLogoTest() {
        boolean b = driver.findElement(By.linkText("Gmail")).isDisplayed();
        Assert.assertTrue(true);
        log.debug("Linked found");

    }

  @AfterMethod
  public void tearDown() {
        driver.quit();


    }

}

Выход:

Вы можете увидеть подробности в консоли, а также D:\\Testlog.log, который упоминается в файле log4j.properties.

Надеюсь, это поможет.

...