getPuppeteer
Get the Puppeteer Browser instance
to run commands with Puppeteer. Note that all Puppeteer commands are
asynchronous by default so in order to interchange between sync and async
execution make sure to wrap your Puppeteer calls within a browser.call
commands as shown in the example.
info
Note that using Puppeteer requires support for Chrome DevTools protocol and e.g. can not be used when running automated tests in the cloud. Find out more in the Automation Protocols section.
Usage
browser.getPuppeteer()
Example
getPuppeteer.test.js
it('should allow me to use Puppeteer', async () => {
// WebDriver command
await browser.url('https://webdriver.io')
const puppeteerBrowser = await browser.getPuppeteer()
// switch to Puppeteer
const metrics = await browser.call(async () => {
const pages = await puppeteerBrowser.pages()
pages[0].setGeolocation({ latitude: 59.95, longitude: 30.31667 })
return pages[0].metrics()
})
console.log(metrics.LayoutCount) // returns LayoutCount value
})