import { PNG } from 'pngjs'; export { prepareVisualTesting, toggleVisualTestingRender, } from './utils'; /** Error types returned by visual testing comparison */ export interface VisualTestMessage { /** Error message when base image and actual image have different sizes */ imagesSize: string; /** Error message when base screensot not found */ baseImgNotFound: string; /** Error message when the threshold is passed */ diffMessage: string; /** The message in case of success */ success: string; /** The message in case of generate mode run */ generateMode: string; } /** Error messages in case of visual testing failure */ export declare const visualTestMessages: Readonly; /** * Object returned by a visual test operation */ export interface VisualTestResult { /** Error object when base image and actual image have different sizes; Contains the screenshot ffile name */ imagesSize?: { screenshotName: string; }; /** Error object when base screensot not found. Contains the not found path as a string */ baseScreenshotNotFound?: { baseScreenshotPath: string; }; /** Object containing the actual diff between images as percentage, the threshold and screenshot file name */ diff?: { actualDiff: number; threshold: number; screenshotName: string; }; /** Run only generation of screenshots */ generateMode?: boolean; } /** * Visual test matcher * Based on the VisualTestResult object return by compareScreenshots function, this matcher will compute the error messages */ export declare function toBeVisuallySimilar(): { compare: (actual: VisualTestResult, _expected: VisualTestResult) => { pass: boolean; message: string; }; }; /** * It will create a file for the passed screenshot object. * The path of the new file will be calculated using the parameters * Ex: ./dist-screenshots\OWBooking\windows_chrome_91\fare-page-after-click-on-continue-0.png * distScreenshotsDir/scenarionName/device/filenameWithoutExtension.png * @param screenshot The screenshot object captured. Ex: for protractor - browser.takeScreenshot() * @param scenarioName E2e Scenario class name * @param device Details of the platform on which the test is run. If there are spaces the helper will do the concatenation. Ex: `Windows 10 chrome 89` * @param filenameWithoutExtension file name to save the screenshot - .png will be added at the end * @param distScreenshotsDir Name of the directory to save the screenshots */ export declare function saveScreenshot(screenshot: string, scenarioName: string, device: string, filenameWithoutExtension: string, distScreenshotsDir?: string): void; /** * Write the 3 images (base/new/diff) on the reports folder * The path inside the reports forlder will be calculated using the parameters * @param pathToScenarioReport Path where the scenario report is saved inside reports folder * @param screenshotsDirName Name of the directory which will contain the 3 images * @param diff diff image * @param baseImage the base image * @param currentImg the actual taken screenshot image */ export declare function writeScreenshotsDiff(pathToScenarioReport: string, screenshotsDirName: string, diff: PNG, baseImage: PNG, currentImg: PNG): void; /** * Compare images helper function. If the comparison fails the 3 images (base/new/diff) will be written inside the reports folder of the actual scenario * @param screenshot Actual captured screenshot object * @param baseImagePath The path to the base screenshot * @param threshold The diff between base screenshot and the current one should not be bigger than this value. * @param pathToScenarioReport Path where the scenario report is saved inside reports folder. Used to compute the path to write diff images in case there is a diff at comparison * @returns An object of visual test result type */ export declare function compareScreenshot(screenshot: string, baseImagePath: string, threshold: number, pathToScenarioReport: string): VisualTestResult; /** * Helper function to perform a visual test operation * @param screenshotObj Ex: for protractor browser.takeScreenshot() * @param filenameWithoutExtension file name to save the screenshot - .png will be added at the end * @param device os followed by browser version - ex: `Windows 10 chrome 89` * @param scenarioName E2e Scenario class name * @param pathToScenarioReport Path used in compare mode for saving the base,new,diff images in reports in case there is a diff * @param threshold The diff between base screenshot and the current one should not be bigger than this value. * If the diff is bigger, 3 png files will be created: base screenshot, new screenshot and diff image * @param generateMode If true it will generate the screenshot file without screenshots comparison * @param baseScreenshotsDirPath The folder path to search base screenshots; used only in compare mode */ export declare function o3rVisualTest(screenshotObj: string, filenameWithoutExtension: string, device: string, scenarioName: string, pathToScenarioReport?: string, threshold?: number, generateMode?: boolean, baseScreenshotsDirPath?: string): VisualTestResult; //# sourceMappingURL=visual-test.d.ts.map