У вас есть драйвер в вашем BaseClass
, а затем вы снова создаете драйвер в классе LoginPagePOM
, благодаря которому вы получаете NPE.
Чтобы решить эту проблему, у вас есть драйвер static
а затем используйте этот единственный драйвер во всех классах, где он вам нужен. Вам не нужно инициализировать его снова.
Вы можете использовать public static WebDriver driver;
в вашем BaseClass
, а затем вы можете использовать BaseClass.driver
во всех ваших классах, где вам это нужно.
Ваш TC_LoginPage_001
будет выглядеть так:
public class TC_LoginPage_001 extends BaseClass{
@Test
public void loginTestCase()
{
BaseClass.driver.get(url);
LoginPagePOM lp=new LoginPagePOM(driver);
lp.setUserName(username1);
lp.setPassword(password1);
lp.clickSignIn();
if(BaseClass.driver.getTitle().equalsIgnoreCase(""))
{
Assert.assertTrue(true);
}else {
Assert.assertTrue(false);
}
}
А ваш LoginPagePOM
будет выглядеть так:
public class LoginPagePOM {
public LoginPagePOM()
{
PageFactory.initElements(BaseClass.driver, this);
}
@FindBy(id="userName")
WebElement username;
@FindBy(name ="passwords")
WebElement password;
@FindBy(name="btn-sdz-login")
WebElement click;
public void setUserName(String usname)
{
username.sendKeys(usname);
}
public void setPassword(String Pass)
{
password.sendKeys(Pass);
}
public void clickSignIn()
{
click.click();
}
}