From 3cc7351819680ff656ef72177be0485c7ef1adc8 Mon Sep 17 00:00:00 2001 From: Raytek Date: Tue, 9 Jan 2024 18:25:33 -0300 Subject: [PATCH 1/2] adding support to allure screen diff plugin --- src/index.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/index.ts b/src/index.ts index 7ccf93d..6e0094e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -233,9 +233,12 @@ class ResembleHelper extends Helper { const allure: any = require('codeceptjs').container.plugins("allure"); if (allure !== undefined && misMatch >= options.tolerance) { - allure.addAttachment("Base Image", fs.readFileSync(this._getBaseImagePath(baseImage, options)), "image/png"); - allure.addAttachment("Screenshot Image", fs.readFileSync(this._getActualImagePath(baseImage)), "image/png"); - allure.addAttachment("Diff Image", fs.readFileSync(this._getDiffImagePath(baseImage)), "image/png"); + allure.addScreenDiff( + 'Screen Diff', + fs.readFileSync(this._getBaseImagePath(baseImage, options), { encoding: 'base64' }), + fs.readFileSync(this._getActualImagePath(baseImage), { encoding: 'base64' }), + fs.readFileSync(this._getDiffImagePath(baseImage), { encoding: 'base64' }) + ) } } From 13e8850dfe5f22cf072c62aea6f72d3292c069fc Mon Sep 17 00:00:00 2001 From: Raytek Date: Tue, 9 Jan 2024 18:40:33 -0300 Subject: [PATCH 2/2] lint --- src/index.ts | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/index.ts b/src/index.ts index 6e0094e..15a25a6 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,4 +1,4 @@ -const { Helper } = require('codeceptjs'); +const { Helper } = require("codeceptjs"); const resemble = require("resemblejs"); const fs = require("fs"); const assert = require("assert"); @@ -30,7 +30,7 @@ interface Options { needsSameDimension?: boolean; outputSettings?: any; prepareBaseImage?: boolean; - compareWithImage?: any + compareWithImage?: any; } interface Endpoint { @@ -69,7 +69,7 @@ class ResembleHelper extends Helper { outputDir = require("codeceptjs").config.get().output || "output"; this.baseFolder = this.resolvePath(config.baseFolder); this.diffFolder = this.resolvePath(config.diffFolder); - this.screenshotFolder = this.resolvePath(config.screenshotFolder || 'output'); + this.screenshotFolder = this.resolvePath(config.screenshotFolder || "output"); this.prepareBaseImage = config.prepareBaseImage; } @@ -230,15 +230,15 @@ class ResembleHelper extends Helper { */ async _addAttachment(baseImage: any, misMatch: any, options: Options) { - const allure: any = require('codeceptjs').container.plugins("allure"); + const allure: any = require("codeceptjs").container.plugins("allure"); if (allure !== undefined && misMatch >= options.tolerance) { allure.addScreenDiff( - 'Screen Diff', - fs.readFileSync(this._getBaseImagePath(baseImage, options), { encoding: 'base64' }), - fs.readFileSync(this._getActualImagePath(baseImage), { encoding: 'base64' }), - fs.readFileSync(this._getDiffImagePath(baseImage), { encoding: 'base64' }) - ) + "Screen Diff", + fs.readFileSync(this._getBaseImagePath(baseImage, options), { encoding: "base64" }), + fs.readFileSync(this._getActualImagePath(baseImage), { encoding: "base64" }), + fs.readFileSync(this._getDiffImagePath(baseImage), { encoding: "base64" }), + ); } } @@ -562,25 +562,25 @@ class ResembleHelper extends Helper { } _getHelper() { - if (this.helpers['Puppeteer']) { - return this.helpers['Puppeteer']; + if (this.helpers["Puppeteer"]) { + return this.helpers["Puppeteer"]; } - if (this.helpers['WebDriver']) { - return this.helpers['WebDriver']; + if (this.helpers["WebDriver"]) { + return this.helpers["WebDriver"]; } - if (this.helpers['Appium']) { - return this.helpers['Appium']; + if (this.helpers["Appium"]) { + return this.helpers["Appium"]; } - if (this.helpers['WebDriverIO']) { - return this.helpers['WebDriverIO']; + if (this.helpers["WebDriverIO"]) { + return this.helpers["WebDriverIO"]; } - if (this.helpers['TestCafe']) { - return this.helpers['TestCafe']; + if (this.helpers["TestCafe"]) { + return this.helpers["TestCafe"]; } - if (this.helpers['Playwright']) { - return this.helpers['Playwright']; + if (this.helpers["Playwright"]) { + return this.helpers["Playwright"]; } throw Error(`No matching helper found. Supported helpers: ${supportedHelper.join("/")}`);