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
I found the answer on the angular.io site under developer docs.
Upgrading from 1.x
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.