UNPKG

@applitools/screenshoter

Version:

Applitools universal screenshoter for web and native applications

37 lines (30 loc) 1.19 kB
const utils = require('@applitools/utils') const makeTakeViewportScreenshot = require('./take-viewport-screenshot') async function takeSimpleScreenshot({ context, region, captureStatusBar, keepNavigationBar, wait, stabilization, debug = {}, logger, }) { logger.verbose('Taking image of...') const driver = context.driver const takeViewportScreenshot = await makeTakeViewportScreenshot({logger, driver, stabilization, debug}) if (typeof wait === 'function') await wait() // using `wait` as a number should not happen with new core versions, but we still support it for backward copatability else await utils.general.sleep(wait) const image = await takeViewportScreenshot({captureStatusBar, keepNavigationBar}) if (region) { const cropRegion = await driver.getRegionInViewport(context, region) if (utils.geometry.isEmpty(cropRegion)) throw new Error('Screenshot region is out of viewport') image.crop(cropRegion) await image.debug({path: debug.path, suffix: 'region'}) return {image, region: cropRegion} } else { return {image, region: utils.geometry.region({x: 0, y: 0}, image.size)} } } module.exports = takeSimpleScreenshot