diff --git a/src/test/index.ts b/src/test/index.ts index c214403652..2389bdcf02 100644 --- a/src/test/index.ts +++ b/src/test/index.ts @@ -16,12 +16,16 @@ import * as fs from 'fs'; import * as path from 'path'; +import * as os from 'os'; import type { LaunchOptions, BrowserContextOptions, Page } from '../../types/types'; import type { TestType, PlaywrightTestArgs, PlaywrightTestOptions, PlaywrightWorkerArgs, PlaywrightWorkerOptions } from '../../types/test'; import { rootTestType } from './testType'; - +import { createGuid, removeFolders } from '../utils/utils'; export { expect } from './expect'; export const _baseTest: TestType<{}, {}> = rootTestType.test; + +const artifactsFolder = path.join(os.tmpdir(), 'pwt-' + createGuid()); + export const test = _baseTest.extend({ defaultBrowserType: [ 'chromium', { scope: 'worker' } ], browserName: [ ({ defaultBrowserType }, use) => use(defaultBrowserType), { scope: 'worker' } ], @@ -44,6 +48,7 @@ export const test = _baseTest.extend { const video = page.video(); if (!video) return; try { const videoPath = await video.path(); - await fs.promises.unlink(videoPath); + const fileName = path.basename(videoPath); + await video.saveAs(testInfo.outputPath(fileName)); } catch (e) { - // Silent catch. + // Silent catch empty videos. } })); } diff --git a/utils/check_deps.js b/utils/check_deps.js index 5907e38513..efd637066b 100644 --- a/utils/check_deps.js +++ b/utils/check_deps.js @@ -163,8 +163,7 @@ DEPS['src/server/trace/common/'] = ['src/server/snapshot/', ...DEPS['src/server/ DEPS['src/server/trace/recorder/'] = ['src/server/trace/common/', ...DEPS['src/server/trace/common/']]; DEPS['src/server/trace/viewer/'] = ['src/server/trace/common/', ...DEPS['src/server/trace/common/']]; -// No dependencies for test runner. -DEPS['src/test/'] = ['src/test/**']; +DEPS['src/test/'] = ['src/test/**', 'src/utils/utils.ts']; checkDeps().catch(e => { console.error(e && e.stack ? e.stack : e);