Я не могу генерировать системные журналы в Selen Webdriver - PullRequest
0 голосов
/ 07 января 2020

Я использую код проекта maven для которого: '' '

package com.test;

import static org.testng.Assert.assertEquals;
import org.apache.log4j.BasicConfigurator;


import java.util.concurrent.TimeUnit;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.events.WebDriverEventListener;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class LoginTest {

    //what is log? //Capturing info/activities at the time of program execution

    //types of logs:
//  1. info
//  2. warn
//  3.debug
//  4.fatal

    //How to generate the logs?--Use Apache log4j Api
    //How it works?-It reads log4j configuration from log4j.properties file
    //where to create the log4j properties file-->inside the resources folder

    WebDriver driver;
    //Logger log = Logger.getLogger(LoginTest.class);

    //Logger log = Logger.getLogger(LoginTest.class);
    //Logger log1=Logger.getRootLogger();
//  BasicConfigurator.configure();
   // PropertyConfigurator.confilog4j.properties);


    @BeforeMethod
    public void setUp()
    {
        System.setProperty("webdriver.chrome.driver",
                "C:\\Users\\Shilpa Khandge\\Downloads\\chromedriver_win32 (3)\\chromedriver.exe");
        driver = new ChromeDriver();
        Logger log = Logger.getRootLogger();
        driver.manage().window().maximize();
        driver.manage().deleteAllCookies();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);

        driver.get("https://classic.crmpro.com/index.html");
        log.warn("test");



    }

    @Test
    public void FreeCRMTitleTest()
    {
        String title=driver.getTitle();
        assertEquals(title, "CRMPRO - CRM software for customer relationship management, sales, and support.", "title not matched");
    }

    @Test
    public void FreeCRMlogoTest()
    {
        boolean b=driver.findElement(By.xpath("//a[@class='navbar-brand']//img[@class='img-responsive']")).isDisplayed();
        assertEquals(b, true);

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

' '' Мой файл log4j.properties выглядит следующим образом:

# Direct log messages to a log file
log4j.logger.devpinoyLogger=debug,file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application.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
log4j.appender.file.Append=true


# Direct log messages to stdout
log4j.rootLogger=All,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=All
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
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c<strong>{1}</strong>:%L - %m%n

My pom Файл *. 1013 * выглядит следующим образом:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>GenerageLogs</groupId>
  <artifactId>GenerageLogs</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>GenerageLogs</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

  </properties>


  <dependencies>
   <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.0.0</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
        </dependency>


<!--    <dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>1.6.2</version>
</dependency>
 -->    
  </dependencies>
</project>

Я хочу, чтобы журнал по умолчанию выводился на консоль, но после выполнения программы я получаю только журналы, созданные вручную. то есть с log.warn ("test");

Пожалуйста, дайте мне знать, что можно сделать для получения журналов по умолчанию на консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...