6522e4f524
Rather than use our own custom expect library, we can use expect from npm [1], which has an API almost identical to the one Puppeteer has, but with more options, better diffing, and is used by many in the community as it's the default assertions library that comes with Jest. It's also thoroughly documented [2]. [1]: https://www.npmjs.com/package/expect [2]: https://jestjs.io/docs/en/expect |
||
---|---|---|
.. | ||
README.md | ||
test.js | ||
WebSocket.js |
Bundling For Web Browsers
To bundle Puppeteer using Browserify:
- Clone Puppeteer repository:
git clone https://github.com/puppeteer/puppeteer && cd puppeteer
npm install
- Run
npm run bundle
This will create ./utils/browser/puppeteer-web.js
file that contains Puppeteer bundle.
You can use it later on in your web page to drive another browser instance through its WS Endpoint:
<script src='./puppeteer-web.js'></script>
<script>
const puppeteer = require('puppeteer');
const browser = await puppeteer.connect({
browserWSEndpoint: '<another-browser-ws-endpont>'
});
// ... drive automation ...
</script>
See our puppeteer-web tests for details.
Running inside Chrome Extension
You might want to enable unsafe-eval
inside the extension by adding the following
to your manifest.json
file:
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
Please see discussion in https://github.com/puppeteer/puppeteer/issues/3455.