/ / Показване на фоновия цвят за нов запис в AngularJS E2E тестването с транспортир - angularjs, транспортир, angularjs-e2e, e2e-тестване

Показване на цвета на фона за нов запис в AngularJS E2E тестване с помощта на уред за измерване на ъгъла - angularjs, protractor, angularjs-e2e, e2e-testing

Пиша E2E тест за "Добавяне на нов потребител" в моя ъглово приложение. Тук искам да покажа фоновия цвят за новосъздадения потребител (или запис). Това е моят тест.

element(by.model("newrecord.firatName")).sendKeys("Juli");
element(by.model("newrecord.lastName")).sendKeys("Robert");
element( by.css("[ng-click="ok()"]") ).click();

Благодаря предварително.

Отговори:

2 за отговор № 1

Протракторът не е предназначен да прави не-потребителскипромени в страницата, така че ако искате да промените цвета на фона на страницата, като използвате Protractor, вероятно ще трябва да преосмислите. Но ... ако решите да го направите, можете да използвате browser.executeScript(statement), и "оператор" ще бъде оценен като JavaScript, както ако го изпълнявате в конзолата. Би било доста лесно да се избере въпросния елемент и да му се даде CSS background-color приписват по този начин.

Ако искаш да кажеш това, което искаш тест цвят на фона на елемента, който можете да използвате element(selector).getAttribute("style").then(function(style) {}); и направете малко магия за манипулация на JS низ, за ​​да получите това, което търсите. Това ще изглежда по следния начин:

var bgIndex = style.indexOf("#", style.indexOf("background-color:")) + 1;
var bgColor = style.substr(bgIndex, 6);

Горното е твърде прецизно (напр. Няма да работи, ако използвате rgb() стойности), но трябва да получите общата идея.

@jsmarkus казва, че можете да използвате getCssValue("background-color"), Това ще ви спести някои проблеми с манипулирането на низове.