How to use currentImageDir method in differencify

Best JavaScript code snippet using differencify

compareImage.js

Source:compareImage.js Github

copy

Full Screen

1import Jimp from 'jimp';2import path from 'path';3import fs from 'fs';4import logger from '../utils/logger';5import {6 getSnapshotsDir,7 getSnapshotPath,8 getDiffDir,9 getDiffPath,10 getCurrentImageDir,11 getCurrentImagePath,12} from '../utils/paths';13const saveDiff = (diff, diffPath) => new Promise((resolve, reject) => {14 const cb = (error, obj) => {15 if (error) {16 reject(error);17 }18 resolve(obj);19 };20 diff.image.write(diffPath, cb);21});22const cleanUpImages = (images) => {23 images.forEach((image) => {24 try {25 fs.unlinkSync(image);26 } catch (e) {27 // ignore error as left over image may not exist28 }29 });30};31const compareImage = async (capturedImage, globalConfig, testConfig) => {32 const prefixedLogger = logger.prefix(testConfig.testName);33 const snapshotsDir = globalConfig.imageSnapshotPathProvided34 ? path.resolve(globalConfig.imageSnapshotPath)35 : getSnapshotsDir(testConfig, globalConfig);36 const snapshotPath = getSnapshotPath(snapshotsDir, testConfig);37 const diffDir = getDiffDir(snapshotsDir);38 const diffPath = getDiffPath(diffDir, testConfig);39 const currentImageDir = getCurrentImageDir(snapshotsDir);40 const currentImagePath = getCurrentImagePath(currentImageDir, testConfig);41 cleanUpImages([diffPath, currentImagePath]);42 if (fs.existsSync(snapshotPath) && !testConfig.isUpdate) {43 let snapshotImage;44 try {45 snapshotImage = await Jimp.read(snapshotPath);46 } catch (error) {47 prefixedLogger.error(`failed to read reference image: ${snapshotPath}`);48 prefixedLogger.trace(error);49 return { error: 'failed to read reference image', matched: false };50 }51 let testImage;52 try {53 testImage = await Jimp.read(capturedImage);54 } catch (error) {55 prefixedLogger.error('failed to read current screenshot image');56 prefixedLogger.trace(error);57 return { error: 'failed to read current screenshot image', matched: false };58 }59 prefixedLogger.log('comparing...');60 const distance = Jimp.distance(snapshotImage, testImage);61 const diff = Jimp.diff(snapshotImage, testImage, globalConfig.mismatchThreshold);62 if (distance <= globalConfig.mismatchThreshold && diff.percent <= globalConfig.mismatchThreshold) {63 prefixedLogger.log('no mismatch found ✅');64 return {65 snapshotPath, distance, diffPercent: diff.percent, matched: true,66 };67 }68 if (globalConfig.saveCurrentImage) {69 try {70 if (!fs.existsSync(currentImageDir)) {71 fs.mkdirSync(currentImageDir);72 }73 if (fs.existsSync(currentImagePath)) {74 fs.unlinkSync(currentImagePath);75 }76 fs.writeFileSync(currentImagePath, capturedImage);77 } catch (error) {78 prefixedLogger.error(`failed to save the current image: ${currentImagePath}`);79 prefixedLogger.trace(error);80 }81 }82 if (globalConfig.saveDifferencifiedImage) {83 try {84 if (!fs.existsSync(diffDir)) {85 fs.mkdirSync(diffDir);86 }87 if (fs.existsSync(diffPath)) {88 fs.unlinkSync(diffPath);89 }90 await saveDiff(diff, diffPath);91 prefixedLogger.log(`saved the diff image to disk at ${diffPath}`);92 } catch (error) {93 prefixedLogger.error(`failed to save the diff image: ${diffPath}`);94 prefixedLogger.trace(error);95 }96 }97 prefixedLogger.error(`mismatch found❗98 Result:99 distance: ${distance}100 diff: ${diff.percent}101 misMatchThreshold: ${globalConfig.mismatchThreshold}102 `);103 return {104 snapshotPath, distance, diffPercent: diff.percent, diffPath, matched: false,105 };106 }107 prefixedLogger.log(`screenshot saved in -> ${snapshotPath}`);108 if (fs.existsSync(diffPath)) {109 fs.unlinkSync(diffPath);110 }111 if (!fs.existsSync(snapshotsDir)) {112 fs.mkdirSync(snapshotsDir);113 }114 fs.writeFileSync(snapshotPath, capturedImage);115 return testConfig.isUpdate ? { updated: true } : { added: true };116};...

Full Screen

Full Screen

paths.js

Source:paths.js Github

copy

Full Screen

1import path from 'path';2import pkgDir from 'pkg-dir';3import fs from 'fs';4const getTestRoot = (testConfig, globalConfig) => {5 let testRoot;6 if (testConfig.isJest) {7 testRoot = path.dirname(testConfig.testPath);8 } else {9 testRoot = path.resolve(pkgDir.sync(), globalConfig.imageSnapshotPath);10 }11 if (!fs.existsSync(testRoot)) {12 fs.mkdirSync(testRoot);13 }14 return testRoot;15};16const getSanitizedName = name => name.replace(/\//g, '-');17export const getSnapshotsDir = (testConfig, globalConfig) => path.join(18 getTestRoot(testConfig, globalConfig),19 '__image_snapshots__',20);21export const getDiffDir = snapshotsDir => path.join(snapshotsDir, '__differencified_output__');22export const getSnapshotPath = (snapshotsDir, testConfig) => {23 if (!snapshotsDir || !testConfig) {24 throw new Error('Incorrect arguments passed to getSnapshotPath');25 }26 const testName = getSanitizedName(testConfig.testName);27 return path.join(snapshotsDir, `${testName}.snap.${testConfig.imageType || 'png'}`);28};29export const getDiffPath = (diffDir, testConfig) => {30 if (!diffDir || !testConfig) {31 throw new Error('Incorrect arguments passed to getDiffPath');32 }33 const testName = getSanitizedName(testConfig.testName);34 return path.join(diffDir, `${testName}.differencified.${testConfig.imageType || 'png'}`);35};36export const getCurrentImageDir = snapshotsDir => path.join(snapshotsDir, '__current_output__');37export const getCurrentImagePath = (currentImageDir, testConfig) => {38 if (!currentImageDir || !testConfig) {39 throw new Error('Incorrect arguments passed to getDiffPath');40 }41 const testName = getSanitizedName(testConfig.testName);42 return path.join(currentImageDir, `${testName}.current.${testConfig.imageType || 'png'}`);...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const currentImageDir = differencify.currentImageDir;3console.log(currentImageDir);4const differencify = require('differencify');5const currentBaselineDir = differencify.currentBaselineDir;6console.log(currentBaselineDir);7const differencify = require('differencify');8const currentDiffDir = differencify.currentDiffDir;9console.log(currentDiffDir);10const differencify = require('differencify');11const currentReportDir = differencify.currentReportDir;12console.log(currentReportDir);13const differencify = require('differencify');14const currentReportJsonPath = differencify.currentReportJsonPath;15console.log(currentReportJsonPath);16const differencify = require('differencify');17const currentReportHtmlPath = differencify.currentReportHtmlPath;18console.log(currentReportHtmlPath);19const differencify = require('differencify');20const currentReportXmlPath = differencify.currentReportXmlPath;21console.log(currentReportXmlPath);22const differencify = require('differencify');23const currentReportCsvPath = differencify.currentReportCsvPath;24console.log(currentReportCsvPath);25const differencify = require('differencify');26const currentReportJunitPath = differencify.currentReportJunitPath;27console.log(currentReportJunitPath);28const differencify = require('differencify');29const currentReportJsonDiffPath = differencify.currentReportJsonDiffPath;30console.log(current

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const differencifyConfig = {3};4const { init } = differencify.init(differencifyConfig);5const differencify = require('differencify');6const differencifyConfig = {7};8const { init } = differencify.init(differencifyConfig);9const differencify = require('differencify');10const differencifyConfig = {11};12const { init } = differencify.init(differencifyConfig);13const differencify = require('differencify');14const differencifyConfig = {15};16const { init } = differencify.init(differencifyConfig);

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const differencifyConfig = require('./differencify.config.js');3const path = require('path');4differencify.init(differencifyConfig);5async function getScreenshot() {6 const screenshotDir = differencify.currentImageDir(__dirname);7 const screenshotPath = path.join(screenshotDir, 'screenshot.png');8 await page.screenshot({ path: screenshotPath });9}10getScreenshot();11const differencify = require('differencify');12differencify.init({13});14const differencify = require('differencify');15differencify.init({16});17const differencify = require('differencify');18differencify.init({19});20const differencify = require('differencify');21differencify.init({22});23const differencify = require('differencify');24differencify.init({25});26const differencify = require('differencify');27differencify.init({28});29const differencify = require('differencify');30differencify.init({31});32const differencify = require('differencify');33differencify.init({34});

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const currentImageDir = differencify.currentImageDir();3console.log(currentImageDir);4const differencify = require('differencify');5const currentImageDir = differencify.currentImageDir();6console.log(currentImageDir);7const differencify = require('differencify');8const currentImageDir = differencify.currentImageDir();9console.log(currentImageDir);10const differencify = require('differencify');11const currentImageDir = differencify.currentImageDir();12console.log(currentImageDir);13const differencify = require('differencify');14const currentImageDir = differencify.currentImageDir();15console.log(currentImageDir);16const differencify = require('differencify');17const currentImageDir = differencify.currentImageDir();18console.log(currentImageDir);19const differencify = require('differencify');20const currentImageDir = differencify.currentImageDir();21console.log(currentImageDir);22const differencify = require('differencify');23const currentImageDir = differencify.currentImageDir();24console.log(currentImageDir);25const differencify = require('differencify');26const currentImageDir = differencify.currentImageDir();27console.log(currentImageDir);

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const fs = require('fs');3const path = require('path');4const diff = differencify.init({5 {6 },7});8const currentImageDir = diff.currentImageDir();9const screenshotPath = path.join(currentImageDir, 'screenshot.png');10const baselinePath = path.join(currentImageDir, 'baseline.png');11const diffPath = path.join(currentImageDir, 'diff.png');12fs.writeFileSync(screenshotPath, 'screenshot');13fs.writeFileSync(screenshotPath, 'new screenshot');14diff.checkImage(screenshotPath, 'screenshot', {15 {16 },17}).then((result) => {18 console.log(result);19});20const differencify = require('differencify');21const fs = require('fs');22const path = require('path');23const diff = differencify.init({24 {25 },26});27const currentImageDir = diff.currentImageDir();28const screenshotPath = path.join(currentImageDir,

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify')2const expect = require('chai').expect3describe('test', function() {4 it('should test', function() {5 browser.saveFullPageScreen('google', {6 })7 const result = differencify.checkFullPageScreen('google', {8 })9 expect(result).to.be.true10 })11})12const differencify = require('differencify')13const { join } = require('path')14exports.config = {15 {16 }17 mochaOpts: {18 },19 reporterOptions: {20 outputDir: join(__dirname, 'reports'),21 },22 before: function() {23 differencify.init(browser)24 }25}26{27 "dependencies": {28 },29 "scripts": {30 }31}

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const { currentImageDir } = differencify;3const { expect } = require('chai');4describe('Test', () => {5 it('should be equal', async () => {6 .imageDiff()7 .fromFile(`${imageDir}/image1.png`)8 .toMatchFile(`${imageDir}/image2.png`);9 expect(diff).to.equal(0);10 });11});12const differencify = require('differencify');13const { currentImageDir } = differencify;14const { expect } = require('chai');15describe('Test', () => {16 it('should be equal', async () => {17 .imageDiff()18 .fromFile(`${imageDir}/image1.png`)19 .toMatchFile(`${imageDir}/image2.png`);20 expect(diff).to.equal(0);21 });22});23const differencify = require('differencify');24const { currentImageDir } = differencify;25const { expect } = require('chai');26describe('Test', () => {27 it('should be equal', async () => {28 differencify.setConfig({ imageDir: 'images/test1' });29 .imageDiff()30 .fromFile(`${imageDir}/image1.png`)31 .toMatchFile(`${imageDir}/image2.png`);32 expect(diff).to.equal(0);33 });34});

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const currentImageDir = differencify.currentImageDir;3console.log(currentImageDir);4const differencify = require('differencify');5const currentImageDir = differencify.currentImageDir;6console.log(currentImageDir);7const differencify = require('differencify');8const currentImageDir = differencify.currentImageDir;9console.log(currentImageDir);10const differencify = require('differencify');11const currentImageDir = differencify.currentImageDir;12console.log(currentImageDir);13const differencify = require('differencify');14const currentImageDir = differencify.currentImageDir;15console.log(currentImageDir);16const differencify = require('differencify');17const currentImageDir = differencify.currentImageDir;18console.log(currentImageDir);19const differencify = require('differencify');20const currentImageDir = differencify.currentImageDir;21console.log(currentImageDir);22const differencify = require('differencify');23const currentImageDir = differencify.currentImageDir;24console.log(currentImageDir);

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2differencify.init(browser, {3 currentImageDir: () => {4 return 'path/to/dir';5 },6});7const differencify = require('differencify');8differencify.init(browser, {9 currentImageDir: (context) => {10 return `path/to/dir/${context.test.parent.title}`;11 },12});13const differencify = require('differencify');14differencify.init(browser, {15 currentImageDir: (context) => {16 return `path/to/dir/${context.test.parent.title}/${context.test.title}`;17 },18});19const differencify = require('differencify');20differencify.init(browser, {21 currentImageDir: (context) => {22 return `path/to/dir/${context.test.parent.title}/${context.test.title}/${context.currentTest.currentTest.fullTitle()}`;23 },24});25const differencify = require('differencify');26differencify.init(browser, {27 currentImageDir: (context) => {28 return `path/to/dir/${context.test.parent.title}/${context.test.title}/${context.currentTest.currentTest.fullTitle()}/${context.currentTest.currentTest.title}`;29 },30});31const differencify = require('differencify');32differencify.init(browser, {33 currentImageDir: (context) => {34 return `path/to/dir/${context.test.parent.title}/${context.test.title}/${context.currentTest.currentTest.fullTitle()}/${context.currentTest.currentTest.title}/${context.currentTest.currentTest.parent.title}`;35 },36});

Full Screen

Using AI Code Generation

copy

Full Screen

1const differencify = require('differencify');2const currentImageDir = differencify.currentImageDir;3console.log(currentImageDir);4const differencify = require('differencify');5const currentImageDir = differencify.currentImageDir;6console.log(currentImageDir);7const differencify = require('differencify');8const currentImageDir = differencify.currentImageDir;9console.log(currentImageDir);10const differencify = require('differencify');11const currentImageDir = differencify.currentImageDir;12console.log(currentImageDir);13const differencify = require('differencify');14const currentImageDir = differencify.currentImageDir;15console.log(currentImageDir);16const differencify = require('differencify');17const currentImageDir = differencify.currentImageDir;18console.log(currentImageDir);19const differencify = require('differencify');20const currentImageDir = differencify.currentImageDir;21console.log(currentImageDir);22const differencify = require('differencify');23const currentImageDir = differencify.currentImageDir;24console.log(currentImageDir);

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run differencify automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful