@wdio/image-comparison-core
Version:
Image comparison core module for @wdio/visual-service - WebdriverIO visual testing framework
745 lines • 20.9 kB
TypeScript
import type { BeforeScreenshotOptions } from '../helpers/beforeScreenshot.interfaces.js';
import type { InternalSaveMethodOptions } from '../commands/save.interfaces.js';
export declare const BEFORE_SCREENSHOT_OPTIONS: BeforeScreenshotOptions;
export declare const CONFIGURABLE: {
writable: boolean;
configurable: boolean;
};
export declare const NAVIGATOR_APP_VERSIONS: {
ANDROID: {
7: string;
8: string;
9: string;
10: string;
11: string;
};
IOS: {
10: string;
11: string;
12: string;
13: string;
14: string;
15: string;
};
IPADOS: {
13: string;
14: string;
15: string;
};
};
export declare const ANDROID_DEVICES: {
NEXUS_5X: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
};
NEXUS_5X_INNER_HEIGHT: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
};
TABLET_WIDTH: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
};
};
export declare const IOS_DEVICES: {
IPHONE: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPHONE_X: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPHONE_HEIGHT: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPHONE_11: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPAD: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPAD_LANDSCAPE: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPAD_BIG_SIZE: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
IPAD_PRO_LANDSCAPE: {
height: number;
width: number;
innerHeight: number;
innerWidth: number;
scrollWidth: number;
sideBar: number;
};
};
export declare const BASE_CHECK_OPTIONS: {
wic: {
addressBarShadowPadding: number;
autoElementScroll: boolean;
addIOSBezelCorners: boolean;
autoSaveBaseline: boolean;
clearFolder: boolean;
userBasedFullPageScreenshot: boolean;
enableLegacyScreenshotMethod: boolean;
formatImageName: string;
isHybridApp: boolean;
savePerInstance: boolean;
toolBarShadowPadding: number;
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
fullPageScrollTimeout: number;
hideScrollBars: boolean;
waitForFontsLoaded: boolean;
compareOptions: {
ignoreAlpha: boolean;
ignoreAntialiasing: boolean;
ignoreColors: boolean;
ignoreLess: boolean;
ignoreNothing: boolean;
rawMisMatchPercentage: boolean;
returnAllCompareData: boolean;
saveAboveTolerance: number;
scaleImagesToSameSize: boolean;
blockOutSideBar: boolean;
blockOutStatusBar: boolean;
blockOutToolBar: boolean;
createJsonReportFiles: boolean;
diffPixelBoundingBoxProximity: number;
};
tabbableOptions: {
circle: {
backgroundColor: string;
borderColor: string;
borderWidth: number;
fontColor: string;
fontFamily: string;
fontSize: number;
size: number;
};
line: {
color: string;
width: number;
};
};
};
instanceData: {
appName: string;
browserName: string;
browserVersion: string;
deviceName: string;
devicePixelRatio: number;
deviceRectangles: {
bottomBar: {
y: number;
x: number;
width: number;
height: number;
};
homeBar: {
x: number;
y: number;
width: number;
height: number;
};
leftSidePadding: {
y: number;
x: number;
width: number;
height: number;
};
rightSidePadding: {
y: number;
x: number;
width: number;
height: number;
};
screenSize: {
height: number;
width: number;
};
statusBar: {
x: number;
y: number;
width: number;
height: number;
};
statusBarAndAddressBar: {
y: number;
x: number;
width: number;
height: number;
};
viewport: {
y: number;
x: number;
width: number;
height: number;
};
};
initialDevicePixelRatio: number;
isAndroid: boolean;
isIOS: boolean;
isMobile: boolean;
logName: string;
name: string;
nativeWebScreenshot: boolean;
platformName: string;
platformVersion: string;
};
folders: {
actualFolder: string;
baselineFolder: string;
diffFolder: string;
};
testContext: {
commandName: string;
framework: string;
parent: string;
title: string;
tag: string;
instanceData: {
browser: {
name: string;
version: string;
};
deviceName: string;
platform: {
name: string;
version: string;
};
app: string;
isMobile: boolean;
isAndroid: boolean;
isIOS: boolean;
};
};
};
export declare const BEFORE_SCREENSHOT_MOCK: {
browserName: string;
browserVersion: string;
deviceName: string;
dimensions: {
body: {
scrollHeight: number;
offsetHeight: number;
};
html: {
clientWidth: number;
scrollWidth: number;
clientHeight: number;
scrollHeight: number;
offsetHeight: number;
};
window: {
devicePixelRatio: number;
innerHeight: number;
innerWidth: number;
isEmulated: boolean;
isLandscape: boolean;
outerHeight: number;
outerWidth: number;
screenHeight: number;
screenWidth: number;
};
};
isAndroid: boolean;
isAndroidChromeDriverScreenshot: boolean;
isAndroidNativeWebScreenshot: boolean;
isIOS: boolean;
isMobile: boolean;
isTestInBrowser: boolean;
isTestInMobileBrowser: boolean;
addressBarShadowPadding: number;
toolBarShadowPadding: number;
appName: string;
logName: string;
name: string;
platformName: string;
platformVersion: string;
devicePixelRatio: number;
deviceRectangles: {
bottomBar: {
height: number;
width: number;
x: number;
y: number;
};
homeBar: {
height: number;
width: number;
x: number;
y: number;
};
leftSidePadding: {
height: number;
width: number;
x: number;
y: number;
};
rightSidePadding: {
height: number;
width: number;
x: number;
y: number;
};
screenSize: {
height: number;
width: number;
};
statusBar: {
height: number;
width: number;
x: number;
y: number;
};
statusBarAndAddressBar: {
height: number;
width: number;
x: number;
y: number;
};
viewport: {
height: number;
width: number;
x: number;
y: number;
};
};
initialDevicePixelRatio: number;
nativeWebScreenshot: boolean;
};
export declare const AFTER_SCREENSHOT_MOCK: {
devicePixelRatio: number;
fileName: string;
};
export declare const COMMON_METHOD_OPTIONS: {
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
enableLegacyScreenshotMethod: boolean;
hideScrollBars: boolean;
hideElements: never[];
removeElements: never[];
waitForFontsLoaded: boolean;
};
export declare const createBeforeScreenshotMock: (overrides?: {}) => {
browserName: string;
browserVersion: string;
deviceName: string;
dimensions: {
body: {
scrollHeight: number;
offsetHeight: number;
};
html: {
clientWidth: number;
scrollWidth: number;
clientHeight: number;
scrollHeight: number;
offsetHeight: number;
};
window: {
devicePixelRatio: number;
innerHeight: number;
innerWidth: number;
isEmulated: boolean;
isLandscape: boolean;
outerHeight: number;
outerWidth: number;
screenHeight: number;
screenWidth: number;
};
};
isAndroid: boolean;
isAndroidChromeDriverScreenshot: boolean;
isAndroidNativeWebScreenshot: boolean;
isIOS: boolean;
isMobile: boolean;
isTestInBrowser: boolean;
isTestInMobileBrowser: boolean;
addressBarShadowPadding: number;
toolBarShadowPadding: number;
appName: string;
logName: string;
name: string;
platformName: string;
platformVersion: string;
devicePixelRatio: number;
deviceRectangles: {
bottomBar: {
height: number;
width: number;
x: number;
y: number;
};
homeBar: {
height: number;
width: number;
x: number;
y: number;
};
leftSidePadding: {
height: number;
width: number;
x: number;
y: number;
};
rightSidePadding: {
height: number;
width: number;
x: number;
y: number;
};
screenSize: {
height: number;
width: number;
};
statusBar: {
height: number;
width: number;
x: number;
y: number;
};
statusBarAndAddressBar: {
height: number;
width: number;
x: number;
y: number;
};
viewport: {
height: number;
width: number;
x: number;
y: number;
};
};
initialDevicePixelRatio: number;
nativeWebScreenshot: boolean;
};
export declare const createAfterScreenshotMock: (overrides?: {}) => {
devicePixelRatio: number;
fileName: string;
};
export declare const createMethodOptions: (overrides?: {}) => {
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
enableLegacyScreenshotMethod: boolean;
hideScrollBars: boolean;
hideElements: never[];
removeElements: never[];
waitForFontsLoaded: boolean;
};
export declare const createBaseOptions: (type: "screen" | "element", overrides?: {}) => {
saveScreenOptions: {
wic: {
addressBarShadowPadding: number;
autoElementScroll: boolean;
addIOSBezelCorners: boolean;
autoSaveBaseline: boolean;
clearFolder: boolean;
userBasedFullPageScreenshot: boolean;
enableLegacyScreenshotMethod: boolean;
formatImageName: string;
isHybridApp: boolean;
savePerInstance: boolean;
toolBarShadowPadding: number;
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
fullPageScrollTimeout: number;
hideScrollBars: boolean;
waitForFontsLoaded: boolean;
compareOptions: {
ignoreAlpha: boolean;
ignoreAntialiasing: boolean;
ignoreColors: boolean;
ignoreLess: boolean;
ignoreNothing: boolean;
rawMisMatchPercentage: boolean;
returnAllCompareData: boolean;
saveAboveTolerance: number;
scaleImagesToSameSize: boolean;
blockOutSideBar: boolean;
blockOutStatusBar: boolean;
blockOutToolBar: boolean;
createJsonReportFiles: boolean;
diffPixelBoundingBoxProximity: number;
};
tabbableOptions: {
circle: {
backgroundColor: string;
borderColor: string;
borderWidth: number;
fontColor: string;
fontFamily: string;
fontSize: number;
size: number;
};
line: {
color: string;
width: number;
};
};
};
method: {
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
enableLegacyScreenshotMethod: boolean;
hideScrollBars: boolean;
hideElements: never[];
removeElements: never[];
waitForFontsLoaded: boolean;
};
};
browserInstance: any;
folders: {
actualFolder: string;
baselineFolder: string;
diffFolder: string;
};
instanceData: {
appName: string;
browserName: string;
browserVersion: string;
deviceName: string;
devicePixelRatio: number;
deviceRectangles: {
bottomBar: {
y: number;
x: number;
width: number;
height: number;
};
homeBar: {
x: number;
y: number;
width: number;
height: number;
};
leftSidePadding: {
y: number;
x: number;
width: number;
height: number;
};
rightSidePadding: {
y: number;
x: number;
width: number;
height: number;
};
screenSize: {
height: number;
width: number;
};
statusBar: {
x: number;
y: number;
width: number;
height: number;
};
statusBarAndAddressBar: {
y: number;
x: number;
width: number;
height: number;
};
viewport: {
y: number;
x: number;
width: number;
height: number;
};
};
initialDevicePixelRatio: number;
isAndroid: boolean;
isIOS: boolean;
isMobile: boolean;
logName: string;
name: string;
nativeWebScreenshot: boolean;
platformName: string;
platformVersion: string;
};
tag: string;
} | {
saveElementOptions: {
wic: {
addressBarShadowPadding: number;
autoElementScroll: boolean;
addIOSBezelCorners: boolean;
autoSaveBaseline: boolean;
clearFolder: boolean;
userBasedFullPageScreenshot: boolean;
enableLegacyScreenshotMethod: boolean;
formatImageName: string;
isHybridApp: boolean;
savePerInstance: boolean;
toolBarShadowPadding: number;
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
fullPageScrollTimeout: number;
hideScrollBars: boolean;
waitForFontsLoaded: boolean;
compareOptions: {
ignoreAlpha: boolean;
ignoreAntialiasing: boolean;
ignoreColors: boolean;
ignoreLess: boolean;
ignoreNothing: boolean;
rawMisMatchPercentage: boolean;
returnAllCompareData: boolean;
saveAboveTolerance: number;
scaleImagesToSameSize: boolean;
blockOutSideBar: boolean;
blockOutStatusBar: boolean;
blockOutToolBar: boolean;
createJsonReportFiles: boolean;
diffPixelBoundingBoxProximity: number;
};
tabbableOptions: {
circle: {
backgroundColor: string;
borderColor: string;
borderWidth: number;
fontColor: string;
fontFamily: string;
fontSize: number;
size: number;
};
line: {
color: string;
width: number;
};
};
};
method: {
disableBlinkingCursor: boolean;
disableCSSAnimation: boolean;
enableLayoutTesting: boolean;
enableLegacyScreenshotMethod: boolean;
hideScrollBars: boolean;
hideElements: never[];
removeElements: never[];
waitForFontsLoaded: boolean;
};
};
browserInstance: any;
folders: {
actualFolder: string;
baselineFolder: string;
diffFolder: string;
};
instanceData: {
appName: string;
browserName: string;
browserVersion: string;
deviceName: string;
devicePixelRatio: number;
deviceRectangles: {
bottomBar: {
y: number;
x: number;
width: number;
height: number;
};
homeBar: {
x: number;
y: number;
width: number;
height: number;
};
leftSidePadding: {
y: number;
x: number;
width: number;
height: number;
};
rightSidePadding: {
y: number;
x: number;
width: number;
height: number;
};
screenSize: {
height: number;
width: number;
};
statusBar: {
x: number;
y: number;
width: number;
height: number;
};
statusBarAndAddressBar: {
y: number;
x: number;
width: number;
height: number;
};
viewport: {
y: number;
x: number;
width: number;
height: number;
};
};
initialDevicePixelRatio: number;
isAndroid: boolean;
isIOS: boolean;
isMobile: boolean;
logName: string;
name: string;
nativeWebScreenshot: boolean;
platformName: string;
platformVersion: string;
};
tag: string;
};
export declare function createTestOptions<T extends InternalSaveMethodOptions>(baseOptions: T, overrides?: Partial<T>): T;
//# sourceMappingURL=mocks.d.ts.map