playwright/tests/playwright-test/playwright.config.ts

56 lines
1.8 KiB
TypeScript

/**
* Copyright (c) Microsoft Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { config as loadEnv } from 'dotenv';
loadEnv({ path: path.join(__dirname, '..', '..', '.env') });
import { defineConfig, type ReporterDescription } from './stable-test-runner';
import * as path from 'path';
const outputDir = path.join(__dirname, '..', '..', 'test-results');
const reporters = () => {
const result: ReporterDescription[] = process.env.CI ? [
['dot'],
['json', { outputFile: path.join(outputDir, 'report.json') }],
['blob', { outputDir: path.join(__dirname, '..', '..', 'blob-report'), fileName: `${process.env.PWTEST_BOT_NAME}.zip` }],
] : [
['list']
];
return result;
};
export default defineConfig({
timeout: 30000,
forbidOnly: !!process.env.CI,
workers: process.env.CI ? 2 : undefined,
snapshotPathTemplate: '__screenshots__/{testFilePath}/{arg}{ext}',
projects: [
{
name: 'playwright-test',
testDir: __dirname,
testIgnore: ['assets/**', 'stable-test-runner/**'],
},
{
name: 'image_tools',
testDir: path.join(__dirname, '../image_tools'),
testIgnore: [path.join(__dirname, '../fixtures/**')],
},
],
reporter: reporters(),
metadata: {
clock: process.env.PW_CLOCK ? 'clock-' + process.env.PW_CLOCK : undefined,
},
});