UNPKG

e2ed

Version:

E2E testing framework over Playwright

42 lines (41 loc) 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.takeScreenshotsOnErrorIfNeeded = void 0; const node_path_1 = require("node:path"); // eslint-disable-next-line import/no-internal-modules const takeScreenshot_1 = require("../../actions/takeScreenshot"); const retryIndex_1 = require("../../context/retryIndex"); const config_1 = require("../config"); const getScreenshotFileNames_1 = require("./getScreenshotFileNames"); const errorScreenshotTimeoutInMs = 2_000; /** * Takes page screenshot and full page screenshot, if needed. * @internal */ const takeScreenshotsOnErrorIfNeeded = async (testStaticOptions) => { const { takeFullPageScreenshotOnError: takeFullPageScreenshotOnErrorFromConfig, takeViewportScreenshotOnError: takeViewportScreenshotOnErrorFromConfig, } = (0, config_1.getFullPackConfig)(); const { options } = testStaticOptions; const takeFullPageScreenshotOnError = options.takeFullPageScreenshotOnError ?? takeFullPageScreenshotOnErrorFromConfig; const takeViewportScreenshotOnError = options.takeViewportScreenshotOnError ?? takeViewportScreenshotOnErrorFromConfig; if (!takeFullPageScreenshotOnError && !takeViewportScreenshotOnError) { return; } const retryIndex = (0, retryIndex_1.getRetryIndex)(); const retryDirectoryName = `retry${retryIndex}`; const { fullPage, viewport } = await (0, getScreenshotFileNames_1.getScreenshotFileNames)(retryDirectoryName, testStaticOptions); if (takeFullPageScreenshotOnError) { await (0, takeScreenshot_1.takeScreenshot)({ fullPage: true, path: (0, node_path_1.join)(retryDirectoryName, fullPage), timeout: errorScreenshotTimeoutInMs, }); } if (takeViewportScreenshotOnError) { await (0, takeScreenshot_1.takeScreenshot)({ fullPage: false, path: (0, node_path_1.join)(retryDirectoryName, viewport), timeout: errorScreenshotTimeoutInMs, }); } }; exports.takeScreenshotsOnErrorIfNeeded = takeScreenshotsOnErrorIfNeeded;