5.1.1 • Published 1 month ago

cypress-fail-on-console-error v5.1.1

Weekly downloads
788
License
MIT
Repository
github
Last release
1 month ago

cypress-fail-on-console-error

This Plugin observes console.error() function from window object. Cypress test will fail when the error conditions are met. For observing network errors please check out cypress-fail-on-network-error.

Installation

npm install cypress-fail-on-console-error --save-dev

Usage

cypress/support/e2e.js

import failOnConsoleError from 'cypress-fail-on-console-error';

failOnConsoleError();

Config (optional)

ParameterDefaultDescription
consoleMessages[]Exclude console messages from throwing AssertionError. Types RegExp and string are accepted. Strings will be converted to regular expression. RegExp.test() will be used for console message matching. Make sure to escape special characters. When console message property stacktrace exists, then the whole stacktrace can be matched.
consoleTypes['error']Define console types for observation. error, warn, info, debug, trace ,table` are accepted values.
debugfalseEnable debug logs for consoleMessage_configConsoleMessage_match and consoleMessage_excluded to cypress runner
import failOnConsoleError, { Config } from 'cypress-fail-on-console-error';

const config: Config = {
    consoleMessages: [
        'foo', 
        /^bar-regex.*/,
        /^((?!include-console-messages).)*$/ 
    ],
    consoleTypes: ['error', 'warn'],
};

failOnConsoleError(config);

Set config from cypress test

Use failOnConsoleError functions getConfig() and setConfig() with your own requirements. Detailed example implementation cypress comands & cypress test. Note that the config will be resetted to initial config between tests.

// Simple example implementation
const { getConfig, setConfig, ConsoleMessage } = failOnConsoleError(config);

Cypress.Commands.addAll({
    getConsoleMessages: () => cy.wrap(getConfig().consoleMessages),
    setConsoleMessages: (consoleMessages: ConsoleMessage[]) => 
        setConfig({ ...getConfig(), consoleMessages });
describe('example test', () => {
    it('should set console messages', () => {
        cy.setConsoleMessages(['foo', 'bar']);
        cy.visit('...');
    });
});

Debugging

When Cypress log is activated, debug information about the console messages / config console messages matching and excluding process are available from the cypress runner. As a plus, the generated error message string can be verified. debugTrue.png

Contributing

  1. Create an project issue with proper description and expected behaviour
  2. NPM command npm run verify have to pass locally
  3. Provide a PR with implementation and tests
5.1.1

1 month ago

5.1.0

5 months ago

5.0.3

7 months ago

5.0.2

7 months ago

5.0.1

7 months ago

5.0.0

10 months ago

4.0.3

1 year ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.2

2 years ago

3.3.1

2 years ago

3.2.2

2 years ago

3.3.0

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.1.0

2 years ago

3.0.0

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.0

3 years ago