0.0.1 • Published 5 years ago
nocketeer v0.0.1
About
Nocketeer is a Puppeteer helper library to run chrome headless browser in isolation. It is inspired by Nock.back library.
How it works
Nocketeer works by overriding Puppeteer's Request event and providing mock responses.
Nocketeer works in Record
and Play
mode. In record mode it intercepts http calls and saves them as json fixtures. In play mode it just replay those saved responses.
Installation
$ npm install nocketeer
Usage
const nocketeer = require('nocketeer');
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await nocketeer(browser);
await page.goto('https://www.example.com');
await page.close();
await browser.close();
})();
Save above script as index.js
Record
mode
> node index.js
Play
mode
> CI=true node index.js
See more examples here
See full list of configs below
API
See API.md for full list of API calls
GlobalOptions
Parameter | type | required | description | default |
---|---|---|---|---|
page | object | no | If puppeteer page object passed, only mock responses for that page will be recorded | null |
fixturesDir | string | no | Path to generated fixture files | ./__nocketeer_fixture__ |
fixtureName | string | no | Path to generated fixture name | chrome-http-mocks |
replaceImage | boolean | no | Replace images with template image | false |
allowImageRecourses | boolean | no | If enabled image resources will be fetched from origin and not intercepted in play mode | false |
svgTemplate | string | no | A SVG image template that will replace images in the page | A solid gray svg image. Source here |
Links
See examples for usages and CI integration with jest
Visit project Slack Chat for general Q/A around project
See CONTRIBUTING.md if you want to contribute.
Gist example with vanilla node
0.0.1
5 years ago