In this case, you need to specify on which element your ng-app
is set. Add rootElement
in your protractor conf.js
, for example:
rootElement: 'div#nested-ng-app' // by default, it is 'body'
FYI, this is because protractor angular-specific custom locators, like by.binding
or by.model
use rootElement
as a root for the search, quote from the change log:
Protractor's custom locators (by.binding, by.model, etc) use
config.rootElement as the root for all their searches. This meant that
config.rootElement was used both to specify how to get hold of
Angular's injector as well as where to begin searching for elements.
This does not work for all cases, for example if a dialog should be
searched for elements but is a sibling, not a child, of ng-app.