Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Protractor Angular 2 Failed: unknown error: angular is not defined

I'm getting the following error:

  • Failed: unknown error: angular is not defined

This only happens when using angular specific selectors like "by.model". But selectors such as "by.css" work correctly . This is an Angular 2 app...

Test

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

like image 664
Rob Avatar asked Mar 24 '16 13:03

Rob


1 Answers

I found the answer on the angular.io site under developer docs.

Upgrading from 1.x

enter image description here

Right now angular selectors by.model and by.binding are not supported. Its not clear if these are features that are possible or that they are working on for angular 2.

like image 86
Rob Avatar answered Oct 18 '22 15:10

Rob