Bird
Raised Fist0
Selenium Javatesting~10 mins

Logging test steps in Selenium Java - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a logger instance named 'logger'.

Selenium Java
Logger logger = Logger.getLogger([1].class.getName());
Drag options to blanks, or click blank then click option'
AWebDriver
BLogger
CSystem
DTestSteps
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'Logger' or 'System' instead of the class name.
Using 'WebDriver' which is unrelated to logging.
2fill in blank
medium

Complete the code to log an info message 'Test started'.

Selenium Java
logger.[1]("Test started");
Drag options to blanks, or click blank then click option'
Ainfo
Bwarn
Cerror
Ddebug
Attempts:
3 left
💡 Hint
Common Mistakes
Using debug or error instead of info for normal messages.
Using warn which is for caution messages.
3fill in blank
hard

Fix the error in the code to log a warning message 'Low disk space'.

Selenium Java
logger.[1]("Low disk space");
Drag options to blanks, or click blank then click option'
Aalert
Bwarning
Cwarn
Dnotice
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'warning' which is not a method in Logger.
Using 'alert' or 'notice' which do not exist in Logger.
4fill in blank
hard

Fill both blanks to log an error with an exception message.

Selenium Java
try {
    // test code
} catch (Exception e) {
    logger.[1]("Error occurred: " + e.[2]());
}
Drag options to blanks, or click blank then click option'
Aerror
BgetMessage
CtoString
DprintStackTrace
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'toString' which returns full exception info, not just message.
Using 'printStackTrace' which prints to console, not returns a string.
5fill in blank
hard

Fill all three blanks to log a debug message with the current test step number.

Selenium Java
int step = 3;
logger.[1]("Executing step " + [2] + ": " + [3]);
Drag options to blanks, or click blank then click option'
Adebug
Bstep
C"Open login page"
Dinfo
Attempts:
3 left
💡 Hint
Common Mistakes
Using info instead of debug for detailed steps.
Using a number literal instead of the variable for step number.

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