@cloudscape-design/browser-test-tools 3.0.59 → 3.0.60
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/internal/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="webdriverio/async" />
|
|
2
2
|
import type { Browser as PuppeteerBrowser } from 'puppeteer-core';
|
|
3
3
|
export declare function scrollAndMergeStrategy(browser: WebdriverIO.Browser): Promise<string>;
|
|
4
|
-
export default function fullPageScreenshot(browser: WebdriverIO.Browser): Promise<string>;
|
|
4
|
+
export default function fullPageScreenshot(browser: WebdriverIO.Browser, forceScrollAndMerge?: boolean): Promise<string>;
|
|
5
5
|
export declare function puppeteerStrategy(browser: WebdriverIO.Browser, puppeteer: PuppeteerBrowser): Promise<string>;
|
|
@@ -43,9 +43,9 @@ async function scrollAndMergeStrategy(browser) {
|
|
|
43
43
|
return (0, merge_1.default)(screenshots, width * pixelRatio, height * pixelRatio, lastImageOffset * pixelRatio, offsetTop);
|
|
44
44
|
}
|
|
45
45
|
exports.scrollAndMergeStrategy = scrollAndMergeStrategy;
|
|
46
|
-
async function fullPageScreenshot(browser) {
|
|
46
|
+
async function fullPageScreenshot(browser, forceScrollAndMerge = false) {
|
|
47
47
|
const puppeteer = await (0, utils_1.getPuppeteer)(browser);
|
|
48
|
-
if (puppeteer) {
|
|
48
|
+
if (puppeteer && !forceScrollAndMerge) {
|
|
49
49
|
// casting due to mismatch in NodeJS types of EventEmitter
|
|
50
50
|
return puppeteerStrategy(browser, puppeteer);
|
|
51
51
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
/// <reference types="webdriverio/async" />
|
|
1
2
|
import BasePageObject from './base';
|
|
2
3
|
import { ScreenshotCapturingOptions, ScreenshotWithOffset } from './types';
|
|
3
4
|
export default class ScreenshotPageObject extends BasePageObject {
|
|
5
|
+
readonly forceScrollAndMerge: boolean;
|
|
6
|
+
constructor(browser: WebdriverIO.Browser, forceScrollAndMerge?: boolean);
|
|
4
7
|
focusNextElement(): Promise<void>;
|
|
5
8
|
scrollToBottom(selector: string): Promise<void>;
|
|
6
9
|
scrollToRight(selector: string): Promise<void>;
|
|
@@ -10,6 +10,10 @@ const image_utils_1 = require("../image-utils");
|
|
|
10
10
|
const base_1 = __importDefault(require("./base"));
|
|
11
11
|
const full_page_screenshot_1 = __importDefault(require("./full-page-screenshot"));
|
|
12
12
|
class ScreenshotPageObject extends base_1.default {
|
|
13
|
+
constructor(browser, forceScrollAndMerge = false) {
|
|
14
|
+
super(browser);
|
|
15
|
+
this.forceScrollAndMerge = forceScrollAndMerge;
|
|
16
|
+
}
|
|
13
17
|
async focusNextElement() {
|
|
14
18
|
return this.keys('Tab');
|
|
15
19
|
}
|
|
@@ -24,7 +28,7 @@ class ScreenshotPageObject extends base_1.default {
|
|
|
24
28
|
const scrollPosition = await this.getWindowScroll();
|
|
25
29
|
// Wait for the page to settle before taking a screenshot
|
|
26
30
|
await this.waitForJsTimers();
|
|
27
|
-
const screenshot = await (0, full_page_screenshot_1.default)(this.browser);
|
|
31
|
+
const screenshot = await (0, full_page_screenshot_1.default)(this.browser, this.forceScrollAndMerge);
|
|
28
32
|
// restore scroll position
|
|
29
33
|
await this.windowScrollTo(scrollPosition);
|
|
30
34
|
return screenshot;
|