Common Packages in Selenium Java Automation Framework
Common Packages in Selenium Java Automation Framework
Purpose:
Common Files:
• BaseTest.java → Initializes WebDriver, sets browser properties, handles test setup and
teardown.
Example:
if (driver == null) {
System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
return driver;
if (driver != null) {
driver.quit();
driver = null;
}
2. pages Package (Page Object Model - POM)
Purpose:
• Implements the Page Object Model (POM) to encapsulate UI elements and actions.
Common Files:
Example:
this.driver = driver;
PageFactory.initElements(driver, this);
@FindBy(id = "username")
@FindBy(id = "password")
@FindBy(id = "loginButton")
usernameField.sendKeys(username);
passwordField.sendKeys(password);
loginButton.click();
}
}
Purpose:
Common Files:
Example:
@BeforeMethod
driver = DriverManager.getDriver();
driver.get("https://example.com/login");
@Test
loginPage.login("testuser", "password123");
@AfterMethod
DriverManager.quitDriver();
}
4. utils Package (Reusable Utility Methods)
Purpose:
• Contains reusable utility methods like file reading, date handling, waits, screenshots, etc.
Common Files:
Example:
FileUtils.copyFile(src, dest);
Purpose:
Common Files:
Example (config.properties):
baseURL=https://example.com
browser=chrome
username=testuser
password=pass123
static {
properties.load(file);
} catch (IOException e) {
e.printStackTrace();
return properties.getProperty(key);
Purpose:
• Implements TestNG listeners for logging, reporting, and screenshot capture on failure.
Common Files:
Example:
@Override
ScreenshotUtil.takeScreenshot(DriverManager.getDriver(), result.getName());
6. Assertions & Reporting → listeners.TestListener captures test failures and logs results.
Conclusion
This structured Selenium Java framework ensures efficient and reusable test automation.