Пиша 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")
, Това ще ви спести някои проблеми с манипулирането на низове.