Ir al Contenido Principal

saveScreenshot

Save a screenshot of the current browsing context to a PNG file on your OS. Be aware that some browser drivers take screenshots of the whole document (e.g. Geckodriver with Firefox) and others only of the current viewport (e.g. Chromedriver with Chrome).

Usage
browser.saveScreenshot(filepath, options, { fullPage=false], format='png'], quality=100], clip] })
Parameters
NameTypeDetails
filepathStringpath to the generated image (.png suffix is required) relative to the execution directory
optionsObjectscreenshot options
[options.fullPage=false]
optional
Booleanwhether to take a screenshot of the full page or just the current viewport
[options.format='png']
optional
Stringthe format of the screenshot (either png or jpeg)
[options.quality=100]
optional
Numberthe quality of the screenshot in case of JPEG format in range 0-100 percent
[options.clip]
optional
Objectclipping a rectangle of the screenshot
Examples
saveScreenshot.js
it('should save a screenshot of the browser viewport', async () => {
await browser.saveScreenshot('./some/path/screenshot.png');
});

it('should save a screenshot of the full page', async () => {
await browser.saveScreenshot('./some/path/screenshot.png', { fullPage: true });
});

it('should save a screenshot of a specific rectangle', async () => {
await browser.saveScreenshot('./some/path/screenshot.png', { clip: { x: 0, y: 0, width: 100, height: 100 } });
});

it('should save a screenshot of the full page in JPEG format', async () => {
await browser.saveScreenshot('./some/path/screenshot.jpeg', { fullPage: true, format: 'jpeg' });
});

it('should save a screenshot of the full page in JPEG format with quality 50', async () => {
await browser.saveScreenshot('./some/path/screenshot.jpeg', { fullPage: true, format: 'jpeg', quality: 50 });
});

running from a hook, make sure to explicitly define the hook as async:

wdio.conf.js
afterTest: async function(test) {
await browser.saveScreenshot('./some/path/screenshot.png');
}

Welcome! How can I help?

WebdriverIO AI Copilot