testplane
Version:
Tests framework based on mocha and wdio
46 lines (45 loc) • 1.67 kB
TypeScript
import { Image } from "../../image";
import type { 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 ViewportScreenShooterInputParams {
camera: Camera;
browser: WdioBrowser;
browserProperties: ScreenShooterBrowserProperties;
}
interface ViewportScreenShooterFullParams extends ViewportScreenShooterInputParams {
browserSideScreenshooter: ClientBridge<typeof browserSideScreenshooterImplementation>;
}
interface ViewportCaptureOpts {
ignoreElements?: string | string[];
screenshotDelay?: number;
disableAnimation?: boolean;
disableHover?: DisableHoverMode;
cropMargins?: CropMargins;
}
interface ViewportCaptureResult {
image: Image;
meta: {
canHaveCaret: boolean;
pixelRatio: number;
};
}
export declare class ViewportScreenShooter {
private _browser;
private _camera;
private _browserProperties;
private _browserSideScreenshooter;
static create(params: ViewportScreenShooterInputParams): Promise<ViewportScreenShooter>;
constructor({ browser, camera, browserProperties, browserSideScreenshooter }: ViewportScreenShooterFullParams);
capture(opts?: ViewportCaptureOpts): Promise<ViewportCaptureResult>;
private _captureImpl;
private _cleanup;
}
export {};