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.