Bird
Raised Fist0
Selenium Javatesting~5 mins

Logging test steps in Selenium Java

Choose your learning style10 modes available
Introduction

Logging test steps helps you see what your test is doing. It makes finding problems easier.

When you want to know which part of the test is running.
When a test fails and you want to find out why.
When you share test results with your team.
When you want to keep a record of test actions for later review.
Syntax
Selenium Java
Logger logger = Logger.getLogger(ClassName.class.getName());
logger.info("Your message here");
Use Logger from java.util.logging or a logging library like Log4j.
The info method logs normal messages about test steps.
Examples
Logs a message that the test is starting.
Selenium Java
Logger logger = Logger.getLogger(MyTest.class.getName());
logger.info("Starting test");
Logs a warning message if something might go wrong.
Selenium Java
logger.warning("This step might fail");
Logs a severe error message when the test fails.
Selenium Java
logger.severe("Test failed due to error");
Sample Program

This program logs each step of a simple Selenium test: starting, opening browser, navigating, closing browser, and finishing.

Selenium Java
import java.util.logging.Logger;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class LoggingTestSteps {
    private static final Logger logger = Logger.getLogger(LoggingTestSteps.class.getName());

    public static void main(String[] args) {
        logger.info("Test started");
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        WebDriver driver = new ChromeDriver();
        logger.info("Browser opened");
        driver.get("https://example.com");
        logger.info("Navigated to example.com");
        driver.quit();
        logger.info("Browser closed");
        logger.info("Test finished");
    }
}
OutputSuccess
Important Notes

Make sure the logging level is set to show info messages.

Replace path/to/chromedriver with the actual path on your machine.

Logging helps track what your test does step-by-step.

Summary

Logging shows what your test is doing.

Use Logger to add messages in your test code.

Logs help find and fix test problems faster.

Practice

(1/5)
1. What is the main purpose of adding logging statements in Selenium Java tests?
easy
A. To make the test run faster
B. To show what the test is doing step-by-step
C. To change the test results
D. To hide errors from the user

Solution

  1. Step 1: Understand logging purpose

    Logging records actions during test execution to track progress.
  2. Step 2: Identify correct purpose

    Logging helps see what the test does, not speed or hide errors.
  3. Final Answer:

    To show what the test is doing step-by-step -> Option B
  4. Quick Check:

    Logging = Show test steps [OK]
Hint: Logging tells what happens during tests [OK]
Common Mistakes:
  • Thinking logging speeds up tests
  • Believing logging changes test results
  • Assuming logging hides errors
2. Which of the following is the correct way to create a Logger instance in Selenium Java?
easy
A. Logger logger = Logger.createLogger();
B. Logger logger = new Logger();
C. Logger logger = Logger.getLogger("TestLogger");
D. Logger logger = Logger();

Solution

  1. Step 1: Recall Logger creation syntax

    In Java, Logger is created using getLogger with a name string.
  2. Step 2: Check options for correct syntax

    Only Logger logger = Logger.getLogger("TestLogger"); uses Logger.getLogger with a string, which is correct.
  3. Final Answer:

    Logger logger = Logger.getLogger("TestLogger"); -> Option C
  4. Quick Check:

    Logger creation = getLogger("name") [OK]
Hint: Use Logger.getLogger("name") to create logger [OK]
Common Mistakes:
  • Trying to instantiate Logger with new
  • Using wrong method names like createLogger
  • Calling Logger as a function
3. What will be the output in the console after running this code snippet?
Logger logger = Logger.getLogger("TestLogger");
logger.info("Starting test");
logger.warning("Element not found");
medium
A. Error: Logger not initialized
B. Starting test\nElement not found
C. No output
D. INFO: Starting test\nWARNING: Element not found

Solution

  1. Step 1: Understand logger methods

    logger.info prints info level messages; logger.warning prints warning level messages.
  2. Step 2: Predict console output format

    Output includes level labels INFO and WARNING before messages.
  3. Final Answer:

    INFO: Starting test\nWARNING: Element not found -> Option D
  4. Quick Check:

    Logger output = Level + message [OK]
Hint: Logger prints level name before message [OK]
Common Mistakes:
  • Expecting messages without level labels
  • Thinking logger prints nothing by default
  • Confusing info and warning outputs
4. Identify the error in this Selenium Java logging code:
Logger logger = Logger.getLogger("TestLogger")
logger.info("Test started");
medium
A. Missing semicolon after getLogger statement
B. Logger cannot be used without import
C. logger.info should be logger.log
D. Logger name must be a class, not a string

Solution

  1. Step 1: Check Java syntax

    Java statements must end with a semicolon (;).
  2. Step 2: Find missing semicolon

    The first line lacks a semicolon after getLogger call.
  3. Final Answer:

    Missing semicolon after getLogger statement -> Option A
  4. Quick Check:

    Java lines end with ; [OK]
Hint: Check for missing semicolons in Java code [OK]
Common Mistakes:
  • Ignoring missing semicolon errors
  • Confusing logger.info with logger.log
  • Thinking Logger name must be a class
5. You want to log each step of a Selenium test to help debug failures. Which approach is best to add logging for multiple steps?
hard
A. Create one Logger instance and call logger.info() before each test action
B. Create a new Logger instance before every test step
C. Use System.out.println() instead of Logger for all steps
D. Add logging only after test finishes

Solution

  1. Step 1: Understand efficient logging practice

    One Logger instance reused for all steps is efficient and clear.
  2. Step 2: Evaluate other options

    Creating many Logger instances wastes resources; System.out.println lacks levels; logging only after test misses step details.
  3. Final Answer:

    Create one Logger instance and call logger.info() before each test action -> Option A
  4. Quick Check:

    Reuse one Logger, log each step [OK]
Hint: Use one Logger, log before each action [OK]
Common Mistakes:
  • Creating multiple Logger instances unnecessarily
  • Using print statements instead of Logger
  • Logging only at test end
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard