Je travaille sur un projet d'automatisation de l'interface utilisateur en utilisant Intern js
. Et je l'implémente en utilisant page object model
. J'ai un scénario simple où l'utilisateur entre les informations d'identification dans la page de connexion et est navigué pour accueillir la page. Dans mon script, j'ai une fonction 'doLogin()' dans LoginPage
qui est responsable de la saisie des informations d'identification et en cliquant sur le bouton soumettre. Maintenant, le problème est que je veux doLogin()
pour retourner WelcomePage
et je suis incapable de trouver le moyen de le faire.Intern js: Comment retourner PageObject de la page de la fonction qui l'ouvre?
Heres mon code SEtUP:
LoginPage.js
define([],
function() {
function LoginPage(remote) {
this.remote = remote;
}
LoginPage.prototype = {
constructor: LoginPage,
// Login Page related Methods
doLogin: function(username,password){
this
.findById(json.locators.username).
.type(username).end()
.findById(json.locators.password)
.type(username).end()
.findByXpath(json.locators.sumit).click().end()
.sleep(1000).then(function(){
return welcomePage// this is not working
})
}
};
return LoginPage;
});
WelcomePage.js
define([],
function() {
function WelcomePage(remote) {
this.remote = remote;
}
WelcomePage.prototype = {
constructor: WelcomePage,
doSomething: function(){
//welcome page related method
}
};
return WelcomePage;
});
Maintenant, ce que je veux vraiment achive est de faire quelque chose comme:
loginpage.doLogin(usrname,password).doSomething();
peut certains l'aide du corps à ce sujet?
mais il donne 'Impossible de lire la propriété « findById » d'erreur undefined' – CodeBlooded
Il est difficile de dire sans voir un test plus complet. Est-ce que votre fonction 'doLogin' (en supposant que vous faites quelque chose comme les exemples ci-dessus) retourne une fonction, ou est-ce qu'elle retourne la substance dans la fonction (' this.parent.findById ... ')? Il a besoin de retourner une fonction, et cette fonction sera appelée en tant que rappel 'then'. – jason0x43
J'ai passé des heures à essayer de faire des exemples trop compliqués ... alors cette approche a fonctionné comme un charme .. Merci beaucoup! –