Отладка транспортира с ручным протоколированием

Иногда я получаю странные ошибки в своих тестах, и я хочу их отладить. Я пытаюсь сделать это с помощью таких вещей, как getAttribute() или getText(), но эти функции возвращают обещание. Мне трудно решить обещание без ожидания. Возьмите этот пример:

console.log(servicePage.services.get(0).getAttribute('class'));

Я надеялся, что он просто выведет значение класса, но обещание возвращается. Как я могу решить это обещание? Я попытался использовать функцию then(function(elem)..., но что делать дальше? Когда я выполняю такое действие, как getText() на elem, я снова застрял с обещанием.

Заранее спасибо! С Уважением


person Homewrecker    schedule 10.02.2016    source источник
comment
Вы всегда можете создать вспомогательную функцию, которая записывает для вас: function log(msg) { console.log(msg) }; которую вы можете добавить к любому промису с помощью .then(log).   -  person GregL    schedule 10.02.2016


Ответы (1)


person    schedule
comment
Работает как шарм, большое спасибо. Является ли результат предопределенным ключевым словом, которое соответствует результату обещания? - person Homewrecker; 10.02.2016
comment
Нет, я просто использую результат как возвращаемое значение из обещания. Это был текст, который я ожидал, я бы поместил туда что-то вроде txt ... это просто облегчает людям понимание того, что это ваша консольная регистрация ... Результат обещания getAttribute ('class') в этот случай - person TesterPhi; 10.02.2016
comment
Итак, только then() разрешает обещание? - person Homewrecker; 10.02.2016
comment
Я бы порекомендовал прочитать ответ jmcollins здесь, это мне очень помогло! stackoverflow.com/ вопросы/29331499/ - person TesterPhi; 10.02.2016