@applitools/screenshoter 3.4.0 → 3.4.3

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.4.0",
3
+ "version": "3.4.3",
4
4
  "description": "Applitools universal screenshoter for web and native applications",
5
5
  "keywords": [
6
6
  "applitools",
@@ -25,6 +25,9 @@
25
25
  "name": "Applitools Team",
26
26
  "email": "team@applitools.com"
27
27
  },
28
+ "aliases": [
29
+ "screenshoter"
30
+ ],
28
31
  "exports": {
29
32
  ".": {
30
33
  "default": "./index.js"
@@ -67,18 +70,18 @@
67
70
  }
68
71
  },
69
72
  "dependencies": {
70
- "@applitools/logger": "1.1.10",
71
- "@applitools/snippets": "2.2.3",
72
- "@applitools/utils": "1.3.6",
73
- "jpeg-js": "0.4.3",
73
+ "@applitools/logger": "1.1.12",
74
+ "@applitools/snippets": "2.4.2",
75
+ "@applitools/utils": "1.3.8",
76
+ "jpeg-js": "0.4.4",
74
77
  "png-async": "0.9.4"
75
78
  },
76
79
  "devDependencies": {
77
- "@applitools/bongo": "^2.1.4",
78
- "@applitools/driver": "^1.9.1",
80
+ "@applitools/bongo": "^2.1.5",
81
+ "@applitools/driver": "^1.9.4",
79
82
  "@applitools/scripts": "1.1.0",
80
- "@applitools/spec-driver-webdriverio": "1.2.10",
81
- "@applitools/test-utils": "1.3.2",
83
+ "@applitools/spec-driver-webdriverio": "1.2.12",
84
+ "@applitools/test-utils": "1.3.3",
82
85
  "appium": "^1.22.3",
83
86
  "chromedriver": "^101.0.0",
84
87
  "eslint": "^8.16.0",
package/src/get-target.js CHANGED
@@ -32,7 +32,9 @@ async function getTarget({window, context, region, fully, scrollingMode, logger}
32
32
  // if element is in a native context, then scroll it to the top, otherwise, it will be not possible to get all of its size
33
33
  const scrollingElement = await elementContext.getScrollingElement()
34
34
  if (scrollingElement && (await scrollingElement.contains(element))) {
35
- await scrollingElement.scrollTo(await element.getRegion())
35
+ const scrollingLocation = utils.geometry.location(await scrollingElement.getRegion())
36
+ const elementLocation = utils.geometry.location(await element.getRegion())
37
+ await scrollingElement.scrollTo(utils.geometry.offsetNegative(elementLocation, scrollingLocation))
36
38
  }
37
39
  }
38
40
 
package/src/image.js CHANGED
@@ -228,10 +228,11 @@ async function toPng(image) {
228
228
  })
229
229
  }
230
230
 
231
- async function toFile(image, path) {
231
+ async function toFile(image, filepath) {
232
232
  const buffer = await toPng(image)
233
233
  return new Promise((resolve, reject) => {
234
- fs.writeFile(path, buffer, err => (err ? reject(err) : resolve()))
234
+ fs.mkdirSync(path.dirname(filepath), {recursive: true})
235
+ fs.writeFile(filepath, buffer, err => (err ? reject(err) : resolve()))
235
236
  })
236
237
  }
237
238
 
@@ -96,7 +96,11 @@ async function takeStitchedScreenshot({
96
96
  const partName = `${partRegion.x}_${partRegion.y}_${partRegion.width}x${partRegion.height}`
97
97
  logger.verbose(`Processing part ${partName}`)
98
98
 
99
- const compensateOffset = {x: 0, y: initialRegion.y !== partRegion.y ? overlap.top : 0}
99
+ // compensate scroller region being shifted and top overlap
100
+ const compensateOffset = {
101
+ x: scrollerRegionShift.x + 0,
102
+ y: scrollerRegionShift.y + (initialRegion.y !== partRegion.y ? overlap.top : 0),
103
+ }
100
104
  const requiredOffset = utils.geometry.offsetNegative(utils.geometry.location(partRegion), compensateOffset)
101
105
 
102
106
  logger.verbose('Move to', requiredOffset)
@@ -167,7 +167,7 @@ function makeTakeNativeScreenshot({driver, stabilization = {}, debug, logger}) {
167
167
  image.crop({
168
168
  top: driver.statusBarHeight,
169
169
  bottom: driver.orientation === 'landscape' ? 0 : driver.navigationBarHeight,
170
- left: driver.platformVersion > 7 ? driver.navigationBarHeight : 0,
170
+ left: driver.platformVersion >= 8 ? driver.navigationBarHeight : 0,
171
171
  right: driver.platformVersion < 8 ? driver.navigationBarHeight : 0,
172
172
  })
173
173
  } else {