import org.holmos.annotation.Page;
import org.holmos.annotation.PageUrl;
import org.holmos.core.BasePage;
@PageUrl(url = "http://example.com")
public class BasePage extends BasePageObject {
}
import org.holmos.annotation.Auto;
import org.holmos.annotation.Page;
import org.openqa.selenium.WebElement;
@Page public class LoginPage extends BasePage {
@Auto(byId = "username")
private WebElement usernameInput;
@Auto(byId = "password")
private WebElement passwordInput;
@Auto(byText = "Login")
private WebElement loginButton;
public void setUsername(String username) {
usernameInput.sendKeys(username);
}
public void setPassword(String password) {
passwordInput.sendKeys(password);
}
public void clickLoginButton() {
loginButton.click();
}
}
import org.holmos.annotation.BeforeClass;
import org.holmos.annotation.AfterClass;
import org.junit.Assert;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class LoginTest {
private WebDriver driver;
@BeforeClass
public void setup() {
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
driver = new ChromeDriver();
}
@AfterClass
public void teardown() {
driver.quit();
}
@Test
public void testLogin() {
LoginPage loginPage = new LoginPage(driver);
loginPage.setUsername("username");
loginPage.setPassword("password");
loginPage.clickLoginButton();
Assert.assertTrue(loginPage.isOnHomePage());
}
}