Cypress pipe console.log и журнал команд для вывода - PullRequest
0 голосов
/ 29 августа 2018

Можно ли перенаправить или перехватить журнал браузера Cypress и журнал команд для вывода?

Я читал некоторые статьи Cypress Github по этой теме. Но я не знаю, как заставить это работать.

По сути, я хочу захватить все журналы команд Cypress GUI в режиме без использования графического интерфейса. Если я смогу включить консоль браузера, журнал будет еще лучше. Цель состоит в том, чтобы понять, что произошло, когда тест не пройден.

Я использую teamcity в качестве ci. Вот пример моего журнала сборки. Я тоже хочу увидеть весь журнал команд. На самом деле, любой файл console.log, запущенный на стороне сервера с использованием cy.task, отображается в журнале сборки. Запуск cy.task('log',message) слишком ручной. Есть ли более разумные способы?

[09:49:08][Step 1/1] 2 of 4: new actions (52s)
[09:50:00][Step 1/1] 3 of 4: new actions (52s)
[09:50:53][Step 1/1] 4 of 4: new actions (53s)
[09:51:47][Step 1/1]   (Results)
[09:51:47][Step 1/1] 
[09:51:47][Step 1/1]   ┌─────────────────────────────────────┐
[09:51:47][Step 1/1]   │ Tests:        8                     │
[09:51:47][Step 1/1]   │ Passing:      8                     │
[09:51:47][Step 1/1]   │ Failing:      0                     │
[09:51:47][Step 1/1]   │ Pending:      0                     │
[09:51:47][Step 1/1]   │ Skipped:      0                     │
[09:51:47][Step 1/1]   │ Screenshots:  0                     │
[09:51:47][Step 1/1]   │ Video:        true                  │
[09:51:47][Step 1/1]   │ Duration:     3 minutes, 38 seconds │
[09:51:47][Step 1/1]   │ Estimated:    1 minute, 8 seconds   │
[09:51:47][Step 1/1]   │ Spec Ran:     action/action_spec.js │
[09:51:47][Step 1/1]   └─────────────────────────────────────┘

1 Ответ

0 голосов
/ 29 августа 2018

Начиная с Cypress 3.0.0, вы можете использовать cy.task() для прямого доступа к узлу и вывода на консоль узла. Из документов:

// in test
cy.task('log', 'This will be output to the terminal')
// in plugins file
on('task', {
  log (message) {
    console.log(message)
    return null
  }
})

См. здесь для получения дополнительной информации.

Я не знаю способа зеркального отображения журналов Cypress напрямую на консоль, но это как минимум реальная альтернатива.

...