This test uses a framework style: setup opens browser, login is reusable, test checks login success, teardown closes browser.
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class LoginTest {
WebDriver driver;
@Before
public void setup() {
driver = new ChromeDriver();
driver.get("https://example.com/login");
}
public void login(String username, String password) {
driver.findElement(By.id("username")).sendKeys(username);
driver.findElement(By.id("password")).sendKeys(password);
driver.findElement(By.id("loginButton")).click();
}
@Test
public void testValidLogin() {
login("user1", "pass123");
String welcomeText = driver.findElement(By.id("welcomeMessage")).getText();
Assert.assertEquals("Welcome user1", welcomeText);
System.out.println("Test Passed: Valid login works");
}
@After
public void teardown() {
driver.quit();
}
}