JSPM

  • Created
  • Published
  • Downloads 60262
  • Score
    100M100P100Q180366F
  • License MIT

Package Exports

  • @neuralegion/cypress-har-generator

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@neuralegion/cypress-har-generator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cypress-har-generator

Generate HTTP Archive (HAR) while running tests

Install

Run npm i --save-dev @neuralegion/cypress-har-generator to install the plugin.

✴ For details about changes between versions, and information about updates on previous releases, see the Releases tab on GitHub: https://github.com/NeuraLegion/cypress-har-generator/releases

Quick Start

First, install cypress-har-generator as development dependency:

npm i --save-dev @neuralegion/cypress-har-generator

Next, go to the cypress's directory and put this code is in your cypress/plugins/index.js file:

const { install, ensureBrowserFlags } = require('@neuralegion/cypress-har-generator');

module.exports = (on, config) => {
  install(on, config);
  
  on('before:browser:launch', (browser = {}, launchOptions) => {
    ensureBrowserFlags(browser, launchOptions);
    return launchOptions;
  });
};

After then, you should register commands that perform the manipulation with the HAR file. For that add this module to your support file cypress/support/index.js:

require('@neuralegion/cypress-har-generator/commands');

Once the configuration is completed, add the following code into each test:

// cypress/integration/users.spec.js

describe('my tests', () => {
  before(() => {
    // start recording
    cy.recordHar();
  });

  after(() => {
    // HAR will be saved as users.spec.har 
    // at the root of the project 
    cy.saveHar();
  });
});

After then, you can start the tests with:

cypress run --browser chrome

✴ Now only Chrome family browsers are supported.

When the cypress finished executing tests, the plugin will save a new archive at the root of the project. By default, a HAR is saved to a file with a name including the current spec’s name: {specName}.har

Commands

recordHar

Starts recording network logs. The plugin records all network requests so long as the browser session is open.

cy.recordHar();

You can set content flag to false to skip loading content fields in the HAR.

cy.recordHar({ content: false });

saveHar

Stops recording and save all requests that have occurred since you run recording to the HAR file.

cy.saveHar();

Pass a filename to change the default naming behavior.

cy.saveHar({ fileName: 'example.com.har' });

Pass an output directory to change the destination folder manually. It allows overriding the value, that is specified in the cypress.json

cy.saveHar({ outDir: './hars' });

If you want to change the path to the files, you can specify it by setting the hars_folder environment variable.

cypress run --browser chrome --env hars_folders=cypress/hars

License

Copyright © 2020 NeuraLegion.

This project is licensed under the MIT License - see the LICENSE file for details.