Go to file
Andrey Lushnikov dbb374d4af Fix racy condition in case of multiple parallel screenshots
Page.screenshot operates the global state of the page. In case of
multiple Page.screenshot() commands running in parallel with different
clipping rects, they interfere with each other.

This patch makes Page.screenshot() commands run sequencially
even though they were called in parallel.

Fixes #15.
2017-06-16 20:20:36 -07:00
docs Refactor Page.screenshot() api 2017-06-16 17:15:24 -07:00
examples Remove the Page.setBlockedURLs method 2017-06-15 08:26:55 -07:00
lib Fix racy condition in case of multiple parallel screenshots 2017-06-16 20:20:36 -07:00
phantom_shim Refactor Page.screenshot() api 2017-06-16 17:15:24 -07:00
test Fix racy condition in case of multiple parallel screenshots 2017-06-16 20:20:36 -07:00
third_party/phantomjs Implement Request.setHeader() method 2017-06-15 08:37:06 -07:00
utils Introduce Eslint to validate style 2017-06-11 01:32:59 -07:00
.eslintignore Introduce Eslint to validate style 2017-06-11 01:32:59 -07:00
.eslintrc.js Introduce Eslint to validate style 2017-06-11 01:32:59 -07:00
.gitignore Introduce screenshot tests 2017-06-16 14:33:34 -07:00
CONTRIBUTING.md Puppeteer: staging commit. 2017-05-11 00:06:41 -07:00
index.js Slight code restructuring 2017-05-14 23:28:00 -07:00
install.js Introduce Eslint to validate style 2017-06-11 01:32:59 -07:00
LICENSE Initial commit 2017-05-09 15:16:13 -07:00
package-lock.json add missing pngjs module 2017-06-16 15:02:14 -07:00
package.json add missing pngjs module 2017-06-16 15:02:14 -07:00
README.md Add minimal test framework 2017-05-12 16:38:07 -07:00

Status

Test results on Mac OS X in headless mode:

  111 passed
   20 failed as expected
    1 skipped
   49 unsupported

Installing

npm i
npm link # this adds puppeteer to $PATH

Run

# run phantomjs script
puppeteer third_party/phantomjs/examples/colorwheel.js

# run 'headful'
puppeteer --no-headless third_party/phantomjs/examples/colorwheel.js

# run puppeteer example
node examples/screenshot.js

Tests

Run all tests:

npm test

Run phantom.js tests using puppeteer:

npm run test-phantom

Run puppeteer tests:

npm run test-puppeteer