Test Overview
This test verifies that the login page's action methods work correctly by entering valid credentials and checking successful login.
This test verifies that the login page's action methods work correctly by entering valid credentials and checking successful login.
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; class LoginPage { private WebDriver driver; private By usernameField = By.id("username"); private By passwordField = By.id("password"); private By loginButton = By.id("loginBtn"); public LoginPage(WebDriver driver) { this.driver = driver; } public void enterUsername(String username) { driver.findElement(usernameField).sendKeys(username); } public void enterPassword(String password) { driver.findElement(passwordField).sendKeys(password); } public void clickLogin() { driver.findElement(loginButton).click(); } } public class LoginTest { private WebDriver driver; private LoginPage loginPage; @BeforeEach public void setUp() { driver = new ChromeDriver(); driver.get("https://example.com/login"); loginPage = new LoginPage(driver); } @Test public void testValidLogin() { loginPage.enterUsername("testuser"); loginPage.enterPassword("password123"); loginPage.clickLogin(); boolean loggedIn = driver.findElement(By.id("welcomeMessage")).isDisplayed(); assertTrue(loggedIn, "User should be logged in and welcome message displayed"); } @AfterEach public void tearDown() { driver.quit(); } }
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts | JUnit test runner initialized | - | PASS |
| 2 | Browser opens ChromeDriver | Chrome browser window opened | - | PASS |
| 3 | Navigates to https://example.com/login | Login page loaded with username, password fields and login button | Page URL is correct | PASS |
| 4 | Finds username field and enters 'testuser' | Username input filled with 'testuser' | Username field contains 'testuser' | PASS |
| 5 | Finds password field and enters 'password123' | Password input filled with 'password123' | Password field contains 'password123' | PASS |
| 6 | Finds and clicks login button | Login form submitted, page navigates | - | PASS |
| 7 | Finds welcome message element by id 'welcomeMessage' | Welcome message displayed on page | Welcome message is displayed | PASS |
| 8 | Assertion checks user is logged in by verifying welcome message visibility | Test verifies login success | assertTrue(loggedIn) passes | PASS |
| 9 | Browser closes and test ends | Chrome browser closed | - | PASS |