Skip to content
A Cypress plugin that sends all logs that occur in the browser to stdout in the terminal.
Branch: master
Clone or download
Latest commit 1967804 May 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cypress indicate electron not supported May 9, 2019
src indicate electron not supported May 9, 2019
.gitignore initial commit May 9, 2019
README.md Add image of what plugin does to Readme / explain plugin more precisely May 20, 2019
cypress.json initial commit May 9, 2019
package.json 1.0.4 May 22, 2019

README.md

cypress-log-to-output

This is a Cypress plugin that sends all console logs that occur in the browser to stdout in the terminal. This means that you can see any kind of console.log, console.info or console.error that occurs in the browser, even if your tests are running in the terminal.

Installation

npm install --save-dev cypress-log-to-output

Usage

In your cypress/plugins/index.js, add this to your module.exports:

module.exports = (on, config) => {
  /** the rest of your plugins... **/
  require('cypress-log-to-output').install(on)
}

You'll now see all browser console logs in your terminal output.

cypress run --browser=chrome

Screen Shot 2019-05-20 at 3 01 12 PM

Works in Chrome, Chromium, or Canary browsers during cypress run and cypress open.

Electron is not currently supported. I can't find a way to attach the Chrome Debugging Protocol to the Electron browser spawned by Cypress.

Filtering Events

If you want to filter events, you can use a custom filtering callback:

module.exports = (on, config) => {
  /** the rest of your plugins... **/
  require('cypress-log-to-output').install(on, (type, event) => {
    // return true or false from this plugin to control if the event is logged
    // `type` is either `console` or `browser`
    // if `type` is `browser`, `event` is an object of the type `LogEntry`:
    //  https://chromedevtools.github.io/devtools-protocol/tot/Log#type-LogEntry
    // if `type` is `console`, `event` is an object of the type passed to `Runtime.consoleAPICalled`:
    //  https://chromedevtools.github.io/devtools-protocol/tot/Runtime#event-consoleAPICalled

    // for example, to only show error events:

    if (event.level === 'error' || event.type === 'error') {
      return true
    }

    return false
  })
}
You can’t perform that action at this time.