Я просто пытаюсь сохранить атрибут входного значения переменной.getAttribute return unresolved
Это код:
var sliderNumber = element.all(by.model('color.red')).get(1);
var firstNum = sliderNumber.getAttribute('value').then(function(value) {
return value;
});
//Some code that changes the sliderNumber attribute
expect(sliderNumber.getAttribute('value')).toEqual(firstNum + 1);
Это дает мне ошибку вроде этого:
Прогнозный '184' равным Promise :: 433 ([[PromiseStatus]]: "отложенный") 1.
Я также попытался:
var firstNum = function() {
return sliderNumber.getAttribute('value').then(function(value) {
return value;
});
}
Это не поможет. Как я могу решить это обещание?
О, интересно. Таким образом, любой тест, связанный с этим начальным значением, который я получаю, должен войти в функцию '.then'? –
Я также хотел бы добавить одну вещь к вашему коду. В вашем ожидающем выражении '.getAttribute' возвращает только строку или null, поэтому она должна быть' .toEqual ((parseInt (initialValue) + 1) .toString()) ' –
Правильно, вы можете либо поставить свои тесты непосредственно в' .then() 'или разбить их на отдельные функции, которые вы можете вызвать в' .then() '. И спасибо за редактирование, я забыл, чтобы вещи были правильного типа! Я сделал еще одну небольшую настройку, чтобы было легче читать ('parseInt' дальше) и немного более твердый ([всегда передавать параметр radix в' parseInt'] (https://developer.mozilla.org/en-US/документы/Web/JavaScript/Справка/Global_Objects/ParseInt)). – Agop