Ensure CSS classes used by Angular internally are not used to locate elements via Protractor.
Current list of Angular classes this rule would complain about (based on the CSS styling documentation page):
ng-scopeng-isolate-scopeng-bindingng-validng-invalidng-pristineng-dirtyng-touchedng-untouched
👎 Any use of the following patterns are considered warnings:
element(by.css(".ng-scope"));
element.all(by.css(".ng-isolate-scope"));
$(".ng-binding");
$$(".ng-valid");
$("[class='ng-invalid']");
$$("[class*='ng-pristine']");
$(".myclass.ng-dirty");
element(by.id("id")).$$(".ng-touched.myclass");
element(by.id("id")).$("input.ng-untouched");👍 The following patterns are not warnings:
element(by.css(".myclass"));
element.all(by.css(".myclass"));
$(".myclass");
$$(".myclass");
$("[class='myclass']");
$$("[class*='myclass']");
$(".myclass.myotherclass");
$$(".myotherclass.myclass");
$("input.myclass");
var s = "ng-scope";
element(by.id("ng-isolate-scope"));