Careeroza
Methods and Classes
Methods Remove Repetition
If ten tests log in, write the login steps once in a method and call it ten times. A class groups related methods and data; later every web page gets its own class (the Page Object Model).
Example
A tiny assertion helper and a reusable method:
public class Main {
static int passed = 0, failed = 0;
static void assertEquals(String name, Object expected, Object actual) {
if (expected.equals(actual)) {
passed++;
System.out.println("PASS " + name);
} else {
failed++;
System.out.println("FAIL " + name + " -> expected [" + expected + "] but found [" + actual + "]");
}
}
static String uniqueEmail(String name, int runNumber) {
return name.toLowerCase() + ".run" + runNumber + "@test.com";
}
public static void main(String[] args) {
assertEquals("cart count", 2, 1 + 1);
assertEquals("page title", "ShopEase", "ShopEase - Home");
assertEquals("signup email", "[email protected]", uniqueEmail("Priya", 7));
System.out.println(passed + " passed, " + failed + " failed");
}
}Output
PASS cart count FAIL page title -> expected [ShopEase] but found [ShopEase - Home] PASS signup email 2 passed, 1 failed
A Class for Test Data
Example
A simple class (here a record) holds one user's test data:
public class Main {
public static void main(String[] args) {
User valid = new User("[email protected]", "Test@123", true);
User locked = new User("[email protected]", "Test@123", false);
for (User u : new User[] {valid, locked}) {
System.out.println(u.email() + " -> expect " + (u.shouldLogin() ? "My Account page" : "error message"));
}
}
}
record User(String email, String password, boolean shouldLogin) {}Output
[email protected] -> expect My Account page [email protected] -> expect error message
Tip: You do not need advanced Java to start. Variables, strings, if/else, loops, lists, methods and simple classes cover 90% of a beginner's Selenium code. Collections, OOP and exceptions in depth are in the Java material.