@applitools/screenshoter 3.7.1 → 3.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/screenshoter",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.2",
|
|
4
4
|
"description": "Applitools universal screenshoter for web and native applications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"applitools",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@applitools/image": "1.0.
|
|
75
|
+
"@applitools/image": "1.0.5",
|
|
76
76
|
"@applitools/logger": "1.1.27",
|
|
77
77
|
"@applitools/snippets": "2.4.6",
|
|
78
78
|
"@applitools/utils": "1.3.13",
|
|
@@ -3,15 +3,8 @@ const utils = require('@applitools/utils')
|
|
|
3
3
|
function calculateScreenshotRegion({cropRegion, stitchedImage, preMoveOffset, postMoveOffset} = {}) {
|
|
4
4
|
cropRegion = !!cropRegion ? cropRegion : {x: 0, y: 0}
|
|
5
5
|
const screenshotRegion = utils.geometry.region(cropRegion, stitchedImage.size)
|
|
6
|
-
|
|
7
|
-
if (JSON.stringify(preMoveOffset) === JSON.stringify(postMoveOffset)) return screenshotRegion
|
|
8
6
|
const moveOffset = utils.geometry.offsetNegative(postMoveOffset, preMoveOffset)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (preMoveOffset.y === postMoveOffset.y && preMoveOffset.x !== postMoveOffset.x)
|
|
12
|
-
compensatedScreenshotRegion.x = preMoveOffset.x
|
|
13
|
-
|
|
14
|
-
return compensatedScreenshotRegion
|
|
7
|
+
return utils.geometry.offset(screenshotRegion, moveOffset)
|
|
15
8
|
}
|
|
16
9
|
|
|
17
10
|
module.exports = calculateScreenshotRegion
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
const utils = require('@applitools/utils')
|
|
2
2
|
|
|
3
|
-
async function
|
|
3
|
+
async function extractCoordinatesForSelectorsAndElements({regionsToCalculate, screenshot, context, logger}) {
|
|
4
4
|
const codedRegionsByCoordinates = []
|
|
5
|
+
if (!regionsToCalculate.length) {
|
|
6
|
+
logger.log('no coded regions to calculate, done')
|
|
7
|
+
return codedRegionsByCoordinates
|
|
8
|
+
}
|
|
9
|
+
logger.log('calculating coordinates for coded regions that need them')
|
|
10
|
+
logger.log('regions to calculate', regionsToCalculate)
|
|
5
11
|
for (const codedRegion of regionsToCalculate) {
|
|
6
12
|
if (codedRegion) {
|
|
7
13
|
const {region} = codedRegion.region ? codedRegion : {region: codedRegion}
|
|
@@ -21,15 +27,20 @@ async function extractCoodinatesForSelectorsAndElements({regionsToCalculate, scr
|
|
|
21
27
|
},
|
|
22
28
|
context.driver.viewportScale,
|
|
23
29
|
)
|
|
24
|
-
|
|
30
|
+
logger.log('scaled region', scaledRegion)
|
|
31
|
+
scaledRegions.push(scaledRegion)
|
|
25
32
|
}
|
|
26
|
-
codedRegionsByCoordinates.push({
|
|
33
|
+
codedRegionsByCoordinates.push({
|
|
34
|
+
regions: scaledRegions,
|
|
35
|
+
selector: elements[0].commonSelector,
|
|
36
|
+
})
|
|
27
37
|
} else {
|
|
28
38
|
codedRegionsByCoordinates.push({regions: []})
|
|
29
39
|
}
|
|
30
40
|
}
|
|
31
41
|
}
|
|
42
|
+
logger.log('calculated coordinates for coded regions done', codedRegionsByCoordinates)
|
|
32
43
|
return codedRegionsByCoordinates
|
|
33
44
|
}
|
|
34
45
|
|
|
35
|
-
module.exports =
|
|
46
|
+
module.exports = extractCoordinatesForSelectorsAndElements
|
package/src/take-screenshot.js
CHANGED
|
@@ -3,7 +3,7 @@ const getTarget = require('./get-target')
|
|
|
3
3
|
const scrollIntoViewport = require('./scroll-into-viewport')
|
|
4
4
|
const takeStitchedScreenshot = require('./take-stitched-screenshot')
|
|
5
5
|
const takeSimpleScreenshot = require('./take-simple-screenshot')
|
|
6
|
-
const
|
|
6
|
+
const extractCoordinatesForSelectorsAndElements = require('./extract-coordinates-for-selectors-and-elements')
|
|
7
7
|
|
|
8
8
|
async function takeScreenshot({
|
|
9
9
|
driver,
|
|
@@ -92,7 +92,12 @@ async function takeScreenshot({
|
|
|
92
92
|
|
|
93
93
|
screenshot.image.scale(driver.viewportScale)
|
|
94
94
|
|
|
95
|
-
const calculatedRegions = await
|
|
95
|
+
const calculatedRegions = await extractCoordinatesForSelectorsAndElements({
|
|
96
|
+
regionsToCalculate,
|
|
97
|
+
screenshot,
|
|
98
|
+
context,
|
|
99
|
+
logger,
|
|
100
|
+
})
|
|
96
101
|
|
|
97
102
|
if (hooks && hooks.afterScreenshot) {
|
|
98
103
|
await hooks.afterScreenshot({driver, scroller: target.scroller, screenshot})
|
|
@@ -145,6 +145,7 @@ async function takeStitchedScreenshot({
|
|
|
145
145
|
stitchedImage.copy(image, pasteOffset)
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
logger.verbose('restoring scroller state', scrollerState)
|
|
148
149
|
await scroller.restoreState(scrollerState)
|
|
149
150
|
|
|
150
151
|
await stitchedImage.debug({...debug, name: 'stitched'})
|