Test Overview
This test runs a Selenium WebDriver test using Maven's build lifecycle. It verifies that the Maven phases compile the code, run tests, and package the application successfully.
This test runs a Selenium WebDriver test using Maven's build lifecycle. It verifies that the Maven phases compile the code, run tests, and package the application successfully.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertTrue; public class MavenLifecycleTest { private WebDriver driver; @BeforeEach public void setUp() { // Assuming chromedriver is in system PATH driver = new ChromeDriver(); } @Test public void testGoogleSearch() { driver.get("https://www.google.com"); WebElement searchBox = driver.findElement(By.name("q")); searchBox.sendKeys("Maven build lifecycle"); searchBox.submit(); // Wait for title to contain search term for (int i = 0; i < 10; i++) { if (driver.getTitle().toLowerCase().contains("maven build lifecycle")) { break; } try { Thread.sleep(500); } catch (InterruptedException e) { // ignore } } assertTrue(driver.getTitle().toLowerCase().contains("maven build lifecycle")); } @AfterEach public void tearDown() { if (driver != null) { driver.quit(); } } }
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Maven starts build lifecycle: validate phase | Project structure and POM file are checked for correctness | - | PASS |
| 2 | Maven runs compile phase to compile Java source code | Java source files compiled into target/classes directory | No compilation errors | PASS |
| 3 | Maven runs test-compile phase to compile test source code | Test Java files compiled into target/test-classes directory | No compilation errors in test code | PASS |
| 4 | Maven runs test phase to execute tests | JUnit test MavenLifecycleTest starts execution | Test method testGoogleSearch() runs | PASS |
| 5 | Test opens Chrome browser using Selenium WebDriver | Chrome browser window opens | Browser is launched successfully | PASS |
| 6 | Test navigates to https://www.google.com | Google homepage is loaded | Page title contains 'Google' | PASS |
| 7 | Test finds search input box by name 'q' | Search box element is located | Element is present and interactable | PASS |
| 8 | Test enters text 'Maven build lifecycle' and submits search | Search results page loads | Page title contains 'maven build lifecycle' | PASS |
| 9 | Test asserts page title contains search term | Title verified | assertTrue(title contains 'maven build lifecycle') | PASS |
| 10 | Test closes browser | Browser window closed | Driver quit successfully | PASS |
| 11 | Maven runs package phase to create JAR | Target directory contains packaged JAR file | JAR file created without errors | PASS |