#javascript #error-handling #cypress
#javascript #обработка ошибок #cypress
Вопрос:
Я тестировал приложение для чата с Cypress. Приложение имеет внутреннее состояние, которое доступно мне только после завершения сеанса. Я хочу быть в состоянии гарантировать, что внутреннее состояние сообщается после каждого тестового запуска в целях отладки. В настоящее время это работает без проблем при прохождении тестов. Последняя команда, которую я выполняю во всех тестах, — это щелчок по завершению сеанса, который затем сохраняется в Cypress. Проблема, с которой я сталкиваюсь, заключается в том, что после сбоя Cypress при выполнении команды или утверждения я не могу сообщить приложению сбросить состояние и сохранить его в журнале команд.
Я смог запустить функцию finalize () после выдачи ошибки, используя приведенный ниже код, и результат был отображен в браузере, но результата не было в журнале команд / time travel после завершения всех тестов в спецификации.
Cypress.on('fail', (error, runnable) => {
Cypress.$('#finalizeButton').click()
throw error
})
Комментарии:
1. Можете ли вы попробовать ведение журнала Cypress
cy.log(message)
. Ссылка: docs.cypress.io/api/commands/log.html#Syntax2. У меня нет доступа к cy из support/index.js файл, который я мог бы указать. Кроме того, вывод состояния длинный и поэтому был бы непригоден для использования в крошечном журнале команд. Но спасибо вам!