web-dev-qa-db-fra.com

Rapporteur: Angular 2 Échec: erreur inconnue: angular n'est pas défini

J'obtiens l'erreur suivante:

  • Échec: erreur inconnue: angular n'est pas défini

Cela se produit uniquement lorsque vous utilisez angular sélecteurs spécifiques comme "by.model". Mais les sélecteurs tels que "by.css" fonctionnent correctement. Il s'agit d'un Angular 2 app ...

Tester

it('should set focus', () => {
    //This works
    //var input = element(by.css('myclass'));
    //This fails
    var input = element(by.model('config.value'));
    input.clear();
    input.sendKeys('test');
    input.sendKeys(Key.TAB);
    input.click();
    var highlightedText = browser.executeScript(function getSelectionText()       
    {         
         return window.getSelection().toString(); 
    });
    expect(highlightedText).toEqual('test');
 });


exports.config = {
  baseUrl: 'http://localhost:5555',

  specs: [
    'dist/dev/**/*.e2e.js'
  ],
  exclude: [],

  framework: 'jasmine2',

  allScriptsTimeout: 110000,

  jasmineNodeOpts: {
    showTiming: true,
    showColors: true,
    isVerbose: false,
    includeStackTrace: false,
    defaultTimeoutInterval: 400000
  },
  directConnect: true,

  capabilities: {
    'browserName': 'chrome'
  },

  onPrepare: function() {
    var SpecReporter = require('jasmine-spec-reporter');
    jasmine.getEnv().addReporter(new SpecReporter({displayStacktrace: true}));

    browser.ignoreSynchronization = false;
  },

  useAllAngular2AppRoots: true
};

chrome = 49.0.2623.87 chromedriver = 2.9.248315 platform = Windows NT 6.1 SP1 x86_64 node = 5.9.1

22
Rob

J'ai trouvé la réponse sur le site angular.io sous documentation développeur.

Mise à niveau à partir de 1.x

enter image description here

À l'heure actuelle angular by.model et by.binding ne sont pas pris en charge. Il n'est pas clair si ce sont des fonctionnalités qui sont possibles ou sur lesquelles ils travaillent pour angular = 2.

53
Rob