I using page object model to create my code but the WebElement is null and cannot be instantiate using annotation. Why is the error like that?
Code:
public class Login {
private String homePage = "http://localhost:63916/";
private Login_Page obj;
public Login() {
obj = new Login_Page();
}
@Given("^Volare Collector Home Page opens in browser$")
public void loadPage() {
try {
WebDriverManager.createDriver();
WebDriverManager.driver.get(homePage);
WebDriverManager.driver.manage().window().maximize();
} catch (Exception ex) {
LogManager.logger.log(Level.INFO, "Exception: " + ex.getMessage());
}
}
@When("^I login to Volare Collector with Username and Password$")
public void login() {
try {
obj.enterUsername();
WebDriverManager.driver.findElement(By.xpath("//*[@id=\"inputPassword\"]")).sendKeys("1");
WebDriverManager.driver.findElement(By.xpath("/html/body/div[1]/div/div/form/div/div[5]/div[2]/div/div[2]/button")).click();
} catch (Exception ex) {
LogManager.logger.log(Level.INFO, "Exception: " + ex.getMessage());
}
}
Login_Page
public class Login_Page {
@FindBy(xpath = "//*[@id=\\\"inputName\\\"]")
WebElement username;
PropertiesManager proMgr;
public Login_Page() {
proMgr = PropertiesManager.createInstance();
}
public void enterUsername() {
String u = proMgr.getProperties().getProperty("username");
username.sendKeys(u);
}
I"m using Junit to run the test. Please help. Thanks.