Je cherche à créer des composants réutilisables dans mes tests nightwatch.js
.
c'est à dire. connexion à l'application Web, déconnexion de l'application Web
Quelle est la meilleure méthode/modèle pour créer ces étapes de manière réutilisable?
Vous pouvez créer des commandes personnalisées pour cela: http://nightwatchjs.org/guide#writing-custom-commands
exports.command = function(username, password) {
this
.waitForElementVisible('#password', 4000)
.setValue('#password', password)
.waitForElementVisible('#username', 1000)
.setValue('#username', username)
.waitForElementVisible('#sign_in', 1000)
.click('#sign_in')
.waitForElementVisible('h1.folder-title', 10000)
return this;
};
.login("your_username", "your_password")
Cela se fait généralement avec des objets de page. http://nightwatchjs.org/guide#page-objects
Ensuite, vous pouvez juste
var myPage = client.page.myPage();
myPage.navigate()
.assert.title('MyPage')
.login('foo', 'bar)
.assert.displayName('foo');
Pour ajouter à la réponse précédente, vous pouvez également créer des assertions personnalisées et des rapporteurs en plus des commandes.
Le Nightwatch Guide contient plus d'informations sur la personnalisation et l'extension de Nightwatch.