Hi please help to clarify why i get NullPoint on wiring WebDriver and "PageObject" classes. Have following structure: Class Responsible for generating WebDriver
@Lazy
@Component
public class WebDriverManager {
@Lazy
@Bean
public WebDriver createDriver(){
return createGenericDriver();
}
public WebDriver createGenericDriver() {//change to system vars
setProp();
if (BankConfig.BROWSER.equalsIgnoreCase("firefox")) {
return createFFoxDriver();
} else if (BankConfig.BROWSER .equalsIgnoreCase("chrome")) {
return createChromeDriver();
} else {
return createIEDriver();
}
}
Abstract class with common actiion-methods for all pages:
public abstract class AbstractPage {
protected final WebDriver driver;
@Autowired
public AbstractPage(WebDriver beanDriver){
WebDriverManager.setProp();
driver=beanDriver;
PageFactory.initElements(driver,this);
}
public void init() throws InterruptedException {
driver.get("www.demo.guru99.com/V4/");
Thread.sleep(3000);
driver.quit();
}
}
LoginPage:
@Lazy
@Component
public class LoginPage extends AbstractPage {
@Autowired
public LoginPage(WebDriver driver ) {
super(driver);
}
and TestClass:
public class LoginTest{
@Autowired
LoginPage loginPage;
@Test
public void test1(){
try {
loginPage.init();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Further faced with an error - java.lang.NullPointerException
at com.GuruBankTestFrame.LoginTest.test1(LoginTest.java:23)