Ich bin neu mit Winkelmesser und Jasmin-Rahmen, um eine AngularJS-Anwendung zu testen.Geteilt Verhalten Jasmin + Winkelmesser
Ich möchte einige meiner Szenarien wiederverwenden, wie die Login-Funktion in allen Szenarien meiner Suite aufrufen kann. Das ist mein login_test.js
module.exports = function(testName, testFn) {
const loginPage = pages.login;
const mainPage = pages.main;
var protractor;
describe('common Login suite', function() {
browser.ignoreSynchronization = true;
beforeEach(function() {
});
afterAll(function() {
browser.manage().deleteAllCookies();
});
it(testName, function() {
browser.get('http://localhost:9000/');
loginPage.typeUserName('bxxxxx');
loginPage.typePassword('xxxxxx');
loginPage.clickLogin();
});
});
}
Und hier habe ich die remote_terminal Funktion haben, hier muss ich Login-Funktion aufrufen Login in meinem Szenario perfom.
var loginSuite = require('./login_test.js');
loginSuite('login Suite terminal feature', function(browser) {
describe('description', function() {
console.log('describe');
it('it', function() {
console.log('it');
});
});
});
Aber wenn diese spec (remote_terminal) aufgerufen Ich habe
Spec begann Schritte auf meiner Konsole Diese Nachricht auszuführen. gemeinsame Login-Suite ✓ Login Suite Terminal Funktion
Wie Sie sehen können, die Beschreibung und IT in der remote_terminal spec nicht ausgeführt werden.
Demo: http://pavelbogomolenko.github.io/dry-principles-with-protractor.html