У меня возникли проблемы с обрезкой результата в Protractor, чтобы затем перейти в массив. Поле, о котором идет речь, содержит строку, которая будет создавать объект JSON.Trim не является функцией в Protractor
Я перехожу в поле element(by.id(fieldName2)).sendKeys('{"Name":"JoeNew"}');
.
Это затем помещается в массив с browser.params.newValues.push(element(by.id(fieldName2)).getAttribute('value'));
. Результирующее значение в // {"Name":"JoeNew"}
хранится в массиве.
Я тогда перезагрузить страницу и проверить, что содержание этого поля является действительно то, что я хотел бы сохранить, но потому, что он JSONified он вернется как:
{
"Name":"JoeNew"
}
Чтобы сравнить два мне нужно trim()
это так, чтобы оно возвращалось к {"Name":"JoeNew"}
для целей сравнения.
browser.params.updatedValues.push(trimResult(element(by.id(fieldName2)).getAttribute('value')));
function trimResult(toTrim) {
return toTrim = toTrim.trim();
};
С грустью возвращается Failed: toTrim.trim is not a function
. Тем не менее я могу выполнять аналогичные задачи для других типов полей, таких как Date.parse(date)
и т. Д. Без проблем.
Может ли кто-нибудь помочь?
EDIT:
Обещание решены для сравнения двух массивов следующим:
protractor.promise.all(browser.params.updatedValues).then(function (resolvedValues) {
console.log(resolvedValues);
browser.params.updatedValues = resolvedValues;
expect(browser.params.updatedValues).toEqual(browser.params.newValues);
});
Спасибо @ girish-sortur. Это удалило ошибку Protractor для того, чтобы Trim не был разрешен, но фактически не обрезает результат и все еще записывает его в расширенную форму. –
Спасибо @DanHodson за указание на это. Это потому, что push не ждет, когда функция 'trimResult()' вернет значение, которое находится в форме обещания. Обновленный ответ, чтобы включить его. –
Привет @ girish-sortur Спасибо за изменения. Я попытался применить оба этих параметра. Первый не использует функцию обрезки, а второй фактически не вводит массив. Я также должен объяснить, что, когда я пытаюсь сравнить два массива, я разрешаю обещания. Теперь я отредактировал свой оригинальный вопрос, чтобы отразить это. Еще раз спасибо за то, что нашли время, чтобы помочь :) –