Skip to main content
Version: Legacy

Full-page

The full-page integration helps you get screenshots of an existing website.

Installation​

No other libraries than happo.io need to be installed for a full-page integration:

npm install --save-dev happo.io

Configuration​

Add a pages option to your .happo.js config file:

// .happo.js
module.exports = {
// other config...
pages: [
{ url: 'https://www.google.com/', title: 'Google' },
{ url: 'https://www.airbnb.com/', title: 'Airbnb' },
],
};

The urls to the website need to be publicly available, otherwise Happo workers won't be able to access the pages

Add a happo script to your package.json file:

{
"scripts": {
"happo": "happo"
}
}

Running​

Invoke npm run happo run to execute the pages test suite. To run in CI, follow the Continuous Integration guide.

Options​

Each item in the pages array can the following optional attributes in addition to url and title:

waitForContent​

If present, Happo will wait for content to appear on the page before taking the screenshot. E.g.

module.exports = {
pages: [
{
url: 'https://twitter.com/',
title: 'Twitter',
waitForContent: 'Sign up with phone',
},
],
};

Happo will wait at most 10 seconds for the content to appear before it takes the screenshot.