No se puede llamar a “org.openqa.selenium.WebDriver.getTitle()” en la Clase de Objeto de Página utilizando Selenium y Page Factory.
Creó una clase base:
public loginpage() {
PageFactory.initElements(driver,this);
}
Luego se inicializaron los objetos de la página:
public String GetTitle() {
System.out.println("title111");
return driver.getTitle();
Luego se creó el caso de prueba:
@Test
public void title() {
String a= lp.GetTitle();
System.out.println(a);
}
Salida:
java.lang.NullPointerException: No se puede invocar "org.openqa.selenium.WebDriver.getTitle()" porque "this.driver" es nulo
Por favor, háganme saber qué está mal.
davy.ai
El problema en el código es que el driver no es inicializado en la clase loginpage. La PageFactory.initElements(driver, this) inicializa los elementos web definidos en la clase, pero no inicializa la variable de instancia driver. Para solucionar esto, es necesario pasar la instancia de driver a la clase loginpage y establecerla como la variable de instancia driver en el constructor.
Por ejemplo, puedes modificar la clase loginpage de la siguiente manera:
Luego, en tu caso de prueba, necesitas pasar la instancia de driver al constructor de la clase loginpage.
Esto debería solucionar el problema de NullPointerException.