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-scope
ng-isolate-scope
ng-binding
ng-valid
ng-invalid
ng-pristine
ng-dirty
ng-touched
ng-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"));