Test Overview
This test opens a web page using Selenium WebDriver and logs each step using Log4j. It verifies that the page title matches the expected title, demonstrating how logging helps track test execution.
This test opens a web page using Selenium WebDriver and logs each step using Log4j. It verifies that the page title matches the expected title, demonstrating how logging helps track test execution.
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import static org.junit.jupiter.api.Assertions.assertEquals; public class LoggingWithLog4jTest { private static final Logger logger = LogManager.getLogger(LoggingWithLog4jTest.class); private WebDriver driver; @BeforeEach public void setUp() { logger.info("Setting up WebDriver"); driver = new ChromeDriver(); logger.info("WebDriver setup complete"); } @Test public void testPageTitle() { logger.info("Starting test: testPageTitle"); driver.get("https://example.com"); logger.info("Navigated to https://example.com"); String expectedTitle = "Example Domain"; String actualTitle = driver.getTitle(); logger.info("Page title retrieved: " + actualTitle); assertEquals(expectedTitle, actualTitle, "Page title should match expected"); logger.info("Assertion passed: Page title matches expected"); } @AfterEach public void tearDown() { logger.info("Closing WebDriver"); if (driver != null) { driver.quit(); logger.info("WebDriver closed"); } } }
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Initialize WebDriver and Log4j logger | Logger ready, WebDriver instance created but browser not opened | - | PASS |
| 2 | Open browser and navigate to https://example.com | Browser window opened at https://example.com | - | PASS |
| 3 | Retrieve page title | Page loaded with title 'Example Domain' | Check if page title equals 'Example Domain' | PASS |
| 4 | Assert page title matches expected | Page title is 'Example Domain' | assertEquals('Example Domain', actualTitle) | PASS |
| 5 | Close browser and quit WebDriver | Browser closed, WebDriver quit | - | PASS |