@applitools/screenshoter
Version:
Applitools universal screenshoter for web and native applications
36 lines (29 loc) • 1.06 kB
JavaScript
const handleWait = require('./utils/wait-handler')
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})
await handleWait(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