Je suis novice dans le domaine du sélénium et de l'arquillien. J'essaye d'implémenter le modèle d'objet de page. Les capacités du navigateur Webdriver sont sauvegardées dans un fichier xml arquillien.Initialiser les objets Page - Arquillian - Selenium
J'utilise TestNG et a créé les classes suivantes:
public class Test{
@Drone
Webdriver driver;
@Page
Login login;
@Page
Home home;
public void createOrderTest(){
login.navigateURL();
login.setcredentials();
home.createOrder();
}
}
public class Login{
// Webelements needed in methods below are declared here
public void navigateURL(){
driver.get("//url/login.aspx");
}
public void setCredentials(){
// code to enter username, password and click login
Graphene.waitAjax().until().element(signIn).is().not().visible();
}
}
public class Home{
// Webelements needed in methods below are declared here
public void createOrder(){
// code to create order
}
}
Énoncé du problème: Je ne sais pas comment naviguer entre Login
et Home
pages dans le code. Une fois que l'utilisateur se connecte en utilisant les méthodes de page Login
, comment Webdriver peut-il utiliser les méthodes de page Home
pour continuer le test?
Erreur:
test fonctionne très bien avec navigateURL
et setcredentials
méthodes. Cependant, le test ne parvient pas à accéder à la méthode createOrder
comme suit:
WARNING: Argument 1 for UpdateTestResultBeforeAfter.update is null. It won't be invoked.
FAILED CONFIGURATION: @BeforeMethod arquillianBeforeTest(public void Test.createOrder() throws javax.mail.MessagingException,java.io.IOException,java.security.GeneralSecurityException)
org.jboss.arquillian.graphene.enricher.exception.PageObjectInitializationException: Can not instantiate Page Object class Home
S'il vous plaît me guider. Je vous remercie.
questions visant à obtenir l'aide de débogage (« ** pourquoi est-ce pas le code de travail? ** ») doit inclure le comportement souhaité, un problème _specific ou ERROR_ et _la necessary_ de code le plus court pour le reproduire ** dans la question lui-même **. Les questions sans ** un énoncé de problème clair ** ne sont pas utiles aux autres lecteurs. Voir: [mcve]. – JeffC
@JeffC Merci pour la suggestion.J'ai édité ma question pour la rendre plus lisible. – newuser