2017-09-21 1 views
0

Lorsque je lance un rapporteur, j'obtiens toujours l'erreur qu'aucune spécification n'est trouvée. J'ai essayé un seul fichier spécifique, 1 répertoire e2e/*.js et un arbre entier e2e/**/*.js.gulp-protractor aucune spécification trouvée avec le test e2e

protractor.config.js

exports.config = { 
specs: ['e2e/**/*.js'], 
capabilities:{ 
    browserName: 'chrome', 
    debug: true 
}, 
localSeleniumStandaloneOpts:{ 
    port:8082 
} 
} 

gulpfile.js

'use strict'; 

var gulp = require('gulp'); 
var protractor = require("gulp-protractor").protractor; 


// Setting up the test task 
gulp.task('protractor', function(callback) { 
    gulp 
     .src(['e2e/**/*.js']) 
     .pipe(protractor({ 
      configFile: 'protractor.conf.js', 
      args:['-port','8095'] 
     })) 
     .on('error', function(e) { 
      console.log(e); 
     }); 

}); 

E2E/login.specs.js

'use strict'; 

describe('login to admin app', function(){ 
    beforeEach(function(){ 
     browser.get('http://localhost:3000/#!/login'); 

     it('expect to be on the login page', function(){ 
      expect(browser.findElement(by.className('login-page')).isPresent()).toBe(true); 

     }); 

     it('login to application', function(){ 
      var loginInput = browser.findElement(by.name('username')); 
      var passwordInput = browser.findElement(by.name('password')); 

      var submitButton = browser.findElement(by.tagNam('button')); 

      loginInput.sendKeys('****'); 
      passwordInput.sendKeys('****'); 

      submitButton.click(); 

      expect(browser.getCurrentUrl()).toMatch('http://localhost:3000/#!/landing'); 
     }); 

     it('check header after login', function(){ 
      var loginInput = browser.findElement(by.name('username')); 
      var passwordInput = browser.findElement(by.name('password')); 

      var submitButton = browser.findElement(by.tagNam('button')); 

      loginInput.sendKeys('*****'); 
      passwordInput.sendKeys('*****'); 

      submitButton.click(); 

      expect(browser.findElement(by.id('role'))); 
      expect(browser.findElement(by.id('username'))); 

      var languages = brower.findElement(by.className("language")); 
      expect(language[0][0].getText().toEqual("NL")); 
      expect(language[1][0].getText().toEqual("FR")); 


     }); 


    }); 
}); 

Ai-je raté une configuration?

Répondre

0

Je l'ai trouvé, selon le site de test e2e de AngularJS: https://docs.angularjs.org/guide/e2e-testing tout est divisé en blocs de code. Donc au sein de décrire la fonction que vous avez beforeEach, afterEach et lui. Et j'ai mis mes fonctions 'it' dans 'beforeEach'.

describe('login to admin app', function(){ 
    beforeEach(function(){ 
     browser.get('http://localhost:3000/#!/login'); 
    });//this line was missing 

    it('expect to be on the login page', function(){ 
     expect(browser.findElement(by.className('login-page')).isPresent()).toBe(true); 

    }); 

    it('login to application', function(){ 
     var loginInput = browser.findElement(by.name('username')); 
     var passwordInput = browser.findElement(by.name('password')); 

     var submitButton = browser.findElement(by.tagNam('button')); 

     loginInput.sendKeys('****'); 
     passwordInput.sendKeys('****'); 

     submitButton.click(); 

     expect(browser.getCurrentUrl()).toMatch('http://localhost:3000/#!/landing'); 
    }); 

    it('check header after login', function(){ 
     var loginInput = browser.findElement(by.name('username')); 
     var passwordInput = browser.findElement(by.name('password')); 

     var submitButton = browser.findElement(by.tagNam('button')); 

     loginInput.sendKeys('****'); 
    passwordInput.sendKeys('****'); 


     submitButton.click(); 

     expect(browser.findElement(by.id('role'))); 
     expect(browser.findElement(by.id('username'))); 

     var languages = brower.findElement(by.className("language")); 
     expect(language[0][0].getText().toEqual("NL")); 
     expect(language[1][0].getText().toEqual("FR")); 

    }); 
});