Ceci est susceptible d'être plus d'une question java que le sélénium, mais depuis que je suis très nouveau à Java, je ne connais pas la réponse. J'écris des tests de sélénium en utilisant le modèle d'objet page. J'ai les pages dans une classe, et les tests dans un autre. Cependant, je suis en train de n'exécuter PageFactory.initelements
une fois par classe de test, donc je n'ai pas ajouter la ligne dans chaque test (dans cette classe, de toute façon, je veux faire quelque chose comme ceci:Selenium PageFactory: initelements une fois par classe?
import com.company.pages.LoginPage
public class LoginTests {
LoginPage login = PageFactory.initElements(driver, LoginPage.class);
@Test
public void test1() {
login.method();
}
@Test
public void test2() {
login.methodTwo();
}
}
Mais je continuer à obtenir un NullPointerException
sur un objet que j'ai défini dans la classe LoginPage
. Cela me dit que la page n'a jamais été initialisée.Mais comme je suis relativement nouveau à Java, je ne sais pas comment l'initialiser.Merci pour votre aide!
Cela n'a pas fonctionné, mais cela m'a conduit à la réponse. J'ai mes définitions de pilote dans une autre classe en utilisant '@ BeforeMethod' de TestNG, donc j'ai ajouté un autre' @ BeforeMethod' dans la classe de test réelle qui est exécutée après la première, et y place le code! – kroe761