What is the procedure of writing Selenium Test Cases with Log4j logging?

0 votes
May 22 in Selenium by Neetu
37 views

1 answer to this question.

0 votes

@Neetu, you can use these steps to write your Selenium Test Cases with Log4j logging:

  1. Create a new XML file – log4j.xml and place it under the Project root folder and Paste the following code in the log4j.xml file:
    • <?xml version="1.0" encoding="UTF-8"?>
      
      <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
      
      <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
      
      <appender name="fileAppender" class="org.apache.log4j.FileAppender">
      
      <param name="Threshold" value="INFO" />
      
      <param name="File" value="logfile.log"/>
      
      <layout class="org.apache.log4j.PatternLayout">
      
      <param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" />
      
      </layout>
      
      </appender>
      
      <root>
      
      <level value="INFO"/>
      
      <appender-ref ref="fileAppender"/>
      
      </root>
      
      </log4j:configuration>
  2. Now include this logging code in to your test script:
    • package automationTestLog4j;
      
      import java.util.concurrent.TimeUnit;
      
      import org.apache.log4j.Logger;
      
      import org.apache.log4j.xml.DOMConfigurator;
      
      import org.openqa.selenium.By;
      
      import org.openqa.selenium.WebDriver;
      
      import org.openqa.selenium.firefox.FirefoxDriver;
      
      public class Log4j {
      
          private static WebDriver driver;
      
          private static Logger Log = Logger.getLogger(Log4j.class.getName());
      
          public static void main(String[] args) {
      
              DOMConfigurator.configure("log4j.xml");
      
              // Create a new instance of the Firefox driver
      
              driver = new FirefoxDriver();
      
              Log.info("New driver instantiated");
      
              //Put a Implicit wait, this means that any search for elements on the page could take the time the implicit wait is set for before throwing exception
      
              driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      
              Log.info("Implicit wait applied on the driver for 10 seconds");
      
              //Launch the Online Store Website
      
              driver.get("http://www.onlinestore.toolsqa.com");
      
              Log.info("Web application launched");
      
              // Find the element that's ID attribute is 'account'(My Account)
      
              driver.findElement(By.id("account")).click();
      
              Log.info("Click action performed on My Account link");
      
              // Find the element that's ID attribute is 'log' (Username)
      
              // Enter Username on the element found by above desc.
      
              driver.findElement(By.id("log")).sendKeys("testuser_1");
      
              Log.info("Username entered in the Username text box");
      
              // Find the element that's ID attribute is 'pwd' (Password)
      
              // Enter Password on the element found by the above desc.
      
              driver.findElement(By.id("pwd")).sendKeys("Test@123");
      
              Log.info("Password entered in the Password text box");
      
              // Now submit the form. WebDriver will find the form for us from the element
      
              driver.findElement(By.id("login")).click();
      
              Log.info("Click action performed on Submit button");
      
              // Print a Log In message to the screen
      
              System.out.println(" Login Successfully, now it is the time to Log Off buddy.");
      
               // Find the element that's ID attribute is 'account_logout' (Log Out)
      
              driver.findElement(By.id("account_logout"));
      
              Log.info("Click action performed on Log out link");
      
              // Close the driver
      
              driver.quit();
      
              Log.info("Browser closed");
      
          }
      
      }
  3. Check the output file “logfile.txt”. The output will look like below:

answered May 22 by Naveen

Related Questions In Selenium

0 votes
1 answer

What is the use of AutoIt tool with Selenium?

Hey Badrish, AutoIT is a third party tool ...READ MORE

answered May 31 in Selenium by Anvi
• 13,840 points
63 views
0 votes
1 answer

What is the use of Pytest with Selenium Webdriver?

Hi Abhinav, Pytest is a testing framework ...READ MORE

answered Aug 22 in Selenium by Anvi
• 13,840 points
26 views
0 votes
1 answer

What is the role of TestNG & JUnit frameworks in Selenium?

Well TestNG and JUnit are test frameworks ...READ MORE

answered Apr 18, 2018 in Selenium by king_kenny
• 3,650 points
306 views
0 votes
2 answers
0 votes
1 answer

Finding WebDriver element with Class Name in java

The better way to handle this element ...READ MORE

answered Apr 10, 2018 in Selenium by nsv999
• 5,090 points
798 views
0 votes
1 answer
0 votes
1 answer

Geo-location microphone camera pop up

To Allow or Block the notification, access using Selenium and you have to ...READ MORE

answered May 11, 2018 in Selenium by Samarpit
• 5,130 points
1,038 views
0 votes
1 answer

How to use such xpath to find web elements

It's much simpler to use: #MyDiv123 > div.super or ...READ MORE

answered Jun 14, 2018 in Selenium by Samarpit
• 5,130 points
743 views
0 votes
1 answer

What is the use of getOptions() method in Selenium?

Hi Urmila, getOptions() is used to get all ...READ MORE

answered May 31 in Selenium by Abha
• 25,740 points
951 views
0 votes
1 answer