diff --git a/capture/resources/notFound.jpg b/capture/resources/notFound.jpg new file mode 100644 index 000000000..a4b0fa7e4 Binary files /dev/null and b/capture/resources/notFound.jpg differ diff --git a/capture/resources/notVisible.jpg b/capture/resources/notVisible.jpg new file mode 100644 index 000000000..1bf8649b2 Binary files /dev/null and b/capture/resources/notVisible.jpg differ diff --git a/capture/resources/unexpectedError.jpg b/capture/resources/unexpectedError.jpg new file mode 100644 index 000000000..0c78ee825 Binary files /dev/null and b/capture/resources/unexpectedError.jpg differ diff --git a/capture/resources/unexpectedErrorSm.jpg b/capture/resources/unexpectedErrorSm.jpg new file mode 100644 index 000000000..01af4ded4 Binary files /dev/null and b/capture/resources/unexpectedErrorSm.jpg differ diff --git a/core/command/remote.js b/core/command/remote.js index 1e0dd5f85..93fb1164e 100644 --- a/core/command/remote.js +++ b/core/command/remote.js @@ -12,11 +12,11 @@ module.exports = { return new Promise(function (resolve, reject) { const port = getRemotePort(); const commandStr = `node ${ssws} ${projectPath} ${MIDDLEWARE_PATH} --config=${config.backstopConfigFileName}`; - const env = {'SSWS_HTTP_PORT': port}; + const env = { SSWS_HTTP_PORT: port }; logger.log(`Starting remote with: ${commandStr} with env ${JSON.stringify(env)}`); - const child = exec(commandStr, {env: env}); + const child = exec(commandStr, { env }); child.stdout.on('data', logger.log); diff --git a/core/util/engineTools.js b/core/util/engineTools.js index 2894679a9..a07dd3e10 100644 --- a/core/util/engineTools.js +++ b/core/util/engineTools.js @@ -1,3 +1,21 @@ +function getUnexpectedErrorImagePath (filePath) { + return filePath.endsWith('.png') + ? '/capture/resources/unexpectedErrorSm.png' + : '/capture/resources/unexpectedErrorSm.jpg'; +} + +function getNotVisibleImagePath (filePath) { + return filePath.endsWith('.png') + ? '/capture/resources/notVisible.png' + : '/capture/resources/notVisible.jpg'; +} + +function getNotFoundImagePath (filePath) { + return filePath.endsWith('.png') + ? '/capture/resources/notFound.png' + : '/capture/resources/notFound.jpg'; +} + function getMisMatchThreshHold (scenario, config) { if (typeof scenario.misMatchThreshold !== 'undefined') { return scenario.misMatchThreshold; } if (typeof config.misMatchThreshold !== 'undefined') { return config.misMatchThreshold; } @@ -159,5 +177,8 @@ module.exports = { getFilename, getEngineOption, getSelectorName, - getScenarioExpect + getScenarioExpect, + getNotVisibleImagePath, + getNotFoundImagePath, + getUnexpectedErrorImagePath }; diff --git a/core/util/runPlaywright.js b/core/util/runPlaywright.js index 3018bae24..8b48f9bde 100644 --- a/core/util/runPlaywright.js +++ b/core/util/runPlaywright.js @@ -12,9 +12,6 @@ const TEST_TIMEOUT = 60000; const DEFAULT_FILENAME_TEMPLATE = '{configId}_{scenarioLabel}_{selectorIndex}_{selectorLabel}_{viewportIndex}_{viewportLabel}'; const DEFAULT_BITMAPS_TEST_DIR = 'bitmaps_test'; const DEFAULT_BITMAPS_REFERENCE_DIR = 'bitmaps_reference'; -const SELECTOR_NOT_FOUND_PATH = '/capture/resources/notFound.png'; -const HIDDEN_SELECTOR_PATH = '/capture/resources/notVisible.png'; -const ERROR_SELECTOR_PATH = '/capture/resources/unexpectedErrorSm.png'; const BODY_SELECTOR = 'body'; const DOCUMENT_SELECTOR = 'document'; const NOCLIP_SELECTOR = 'body:noclip'; @@ -281,7 +278,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar compareConfig = { testPairs: [testPair] }; - await fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); + await fs.copy(config.env.backstop + engineTools.getUnexpectedErrorImagePath(filePath), filePath); } return Promise.resolve(compareConfig); @@ -378,7 +375,7 @@ async function captureScreenshot (page, browserContext, selector, selectorMap, c }); } catch (e) { console.log(chalk.red('Error capturing..'), e); - return fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); + return fs.copy(config.env.backstop + engineTools.getUnexpectedErrorImagePath(filePath), filePath); } } else { // OTHER-SELECTOR screenshot @@ -404,11 +401,11 @@ async function captureScreenshot (page, browserContext, selector, selectorMap, c await type.screenshot(params); } else { console.log(chalk.yellow(`Element not visible for capturing: ${s}`)); - return fs.copy(config.env.backstop + HIDDEN_SELECTOR_PATH, path); + return fs.copy(config.env.backstop + engineTools.getNotVisibleImagePath(path), path); } } else { console.log(chalk.magenta(`Element not found for capturing: ${s}`)); - return fs.copy(config.env.backstop + SELECTOR_NOT_FOUND_PATH, path); + return fs.copy(config.env.backstop + engineTools.getNotFoundImagePath(path), path); } }; @@ -421,7 +418,7 @@ async function captureScreenshot (page, browserContext, selector, selectorMap, c await selectorShot(selector, filePath); } catch (e) { console.log(chalk.red(`Error capturing Element ${selector}`), e); - return fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); + return fs.copy(config.env.backstop + engineTools.getUnexpectedErrorImagePath(filePath), filePath); } } }; diff --git a/core/util/runPuppet.js b/core/util/runPuppet.js index d513fa918..5eb1c92a8 100644 --- a/core/util/runPuppet.js +++ b/core/util/runPuppet.js @@ -13,9 +13,6 @@ const TEST_TIMEOUT = 60000; const DEFAULT_FILENAME_TEMPLATE = '{configId}_{scenarioLabel}_{selectorIndex}_{selectorLabel}_{viewportIndex}_{viewportLabel}'; const DEFAULT_BITMAPS_TEST_DIR = 'bitmaps_test'; const DEFAULT_BITMAPS_REFERENCE_DIR = 'bitmaps_reference'; -const SELECTOR_NOT_FOUND_PATH = '/capture/resources/notFound.png'; -const HIDDEN_SELECTOR_PATH = '/capture/resources/notVisible.png'; -const ERROR_SELECTOR_PATH = '/capture/resources/unexpectedErrorSm.png'; const BODY_SELECTOR = 'body'; const DOCUMENT_SELECTOR = 'document'; const NOCLIP_SELECTOR = 'body:noclip'; @@ -288,7 +285,7 @@ async function processScenarioView (scenario, variantOrScenarioLabelSafe, scenar testPairs: [testPair] }; await writeScenarioLogs(config, logFilePath, logger); - await fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); + await fs.copy(config.env.backstop + engineTools.getUnexpectedErrorImagePath(filePath), filePath); } return Promise.resolve(compareConfig); @@ -391,7 +388,7 @@ async function captureScreenshot (page, browser, selector, selectorMap, config, } catch (e) { logger.log('red', 'Error capturing..', e); await writeScenarioLogs(config, logFilePath, logger); - return fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); + return fs.copy(config.env.backstop + engineTools.getUnexpectedErrorImagePath(filePath), filePath); } } else { // OTHER-SELECTOR screenshot @@ -425,12 +422,12 @@ async function captureScreenshot (page, browser, selector, selectorMap, config, } else { logger.log('yellow', `Element not visible for capturing: ${s}`); await writeScenarioLogs(config, logFilePath, logger); - return fs.copy(config.env.backstop + HIDDEN_SELECTOR_PATH, path); + return fs.copy(config.env.backstop + engineTools.getNotVisibleImagePath(path), path); } } else { logger.log('magenta', `Element not found for capturing: ${s}`); await writeScenarioLogs(config, logFilePath, logger); - return fs.copy(config.env.backstop + SELECTOR_NOT_FOUND_PATH, path); + return fs.copy(config.env.backstop + engineTools.getNotFoundImagePath(path), path); } }; @@ -445,7 +442,7 @@ async function captureScreenshot (page, browser, selector, selectorMap, config, } catch (e) { logger.log('red', `Error capturing Element ${selector}`, e); await writeScenarioLogs(config, logFilePath, logger); - return fs.copy(config.env.backstop + ERROR_SELECTOR_PATH, filePath); + return fs.copy(config.env.backstop + engineTools.getUnexpectedErrorImagePath(filePath), filePath); } } };