testplane
Version:
Tests framework based on mocha and wdio
45 lines (44 loc) • 1.78 kB
TypeScript
import { Image } from "../../image";
import { DisableHoverMode } from "../isomorphic/types";
import type { WdioBrowser } from "../../types";
import { Camera, type CropMargins } from "../camera";
import type * as browserSideScreenshooterImplementation from "../client-scripts/screen-shooter/implementation";
import { ClientBridge } from "../client-bridge";
interface ScreenShooterBrowserProperties {
isWebdriverProtocol: boolean;
shouldUsePixelRatio: boolean;
needsCompatLib: boolean;
}
interface FullPageScreenShooterInputParams {
camera: Camera;
browser: WdioBrowser;
browserProperties: ScreenShooterBrowserProperties;
}
interface FullPageScreenShooterFullParams extends FullPageScreenShooterInputParams {
browserSideScreenshooter: ClientBridge<typeof browserSideScreenshooterImplementation>;
}
interface FullPageCaptureOpts {
screenshotDelay?: number;
disableAnimation?: boolean;
disableHover?: DisableHoverMode;
cropMargins?: CropMargins;
}
export declare class FullPageScreenShooter {
private _browser;
private _camera;
private _browserProperties;
private _browserSideScreenshooter;
static create(params: FullPageScreenShooterInputParams): Promise<FullPageScreenShooter>;
constructor({ browser, camera, browserProperties, browserSideScreenshooter }: FullPageScreenShooterFullParams);
capture(opts?: FullPageCaptureOpts): Promise<Image>;
private _captureImpl;
private _isElementPositionsProbeEqual;
private _cleanup;
/**
* Builds the full-page rect in viewport coordinates.
* The rect always has the full document dimensions, but its top shifts
* upward as we scroll (the document "moves up" relative to the viewport).
*/
private _buildFullPageRect;
}
export {};