mirror of
				https://github.com/slint-ui/slint.git
				synced 2025-11-03 21:24:17 +00:00 
			
		
		
		
	Bring back playwright tests. Archive playwright test report to make it easier to debug failed test runs. Better define a BASE_URL and BASE_PATH so the playwright tests happily work during a release.
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// Copyright © SixtyFPS GmbH <info@slint.dev>
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
import { defineConfig, devices } from "@playwright/test";
 | 
						|
import { BASE_PATH } from "./src/utils/site-config";
 | 
						|
 | 
						|
/**
 | 
						|
 * Read environment variables from file.
 | 
						|
 * https://github.com/motdotla/dotenv
 | 
						|
 */
 | 
						|
// import dotenv from 'dotenv';
 | 
						|
// import path from 'path';
 | 
						|
// dotenv.config({ path: path.resolve(__dirname, '.env') });
 | 
						|
 | 
						|
/**
 | 
						|
 * See https://playwright.dev/docs/test-configuration.
 | 
						|
 */
 | 
						|
export default defineConfig({
 | 
						|
    testDir: "./tests",
 | 
						|
    /* Run tests in files in parallel */
 | 
						|
    fullyParallel: true,
 | 
						|
    /* Fail the build on CI if you accidentally left test.only in the source code. */
 | 
						|
    forbidOnly: !!process.env.CI,
 | 
						|
    /* Retry on CI only */
 | 
						|
    retries: process.env.CI ? 2 : 0,
 | 
						|
    /* Opt out of parallel tests on CI. */
 | 
						|
    workers: process.env.CI ? 1 : undefined,
 | 
						|
    /* Reporter to use. See https://playwright.dev/docs/test-reporters */
 | 
						|
    reporter: [
 | 
						|
        ["html"], // You can combine multiple reporters
 | 
						|
        [
 | 
						|
            "playwright-ctrf-json-reporter",
 | 
						|
            {
 | 
						|
                outputFile: "ctrf-report.json",
 | 
						|
                outputDir: "playwright-report",
 | 
						|
            },
 | 
						|
        ],
 | 
						|
    ],
 | 
						|
    /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
 | 
						|
    use: {
 | 
						|
        /* Base URL to use in actions like `await page.goto('/')`. */
 | 
						|
        baseURL: `http://localhost:4321${BASE_PATH}`,
 | 
						|
 | 
						|
        /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
 | 
						|
        trace: "on-first-retry",
 | 
						|
    },
 | 
						|
 | 
						|
    /* Configure projects for major browsers */
 | 
						|
    projects: [
 | 
						|
        {
 | 
						|
            name: "chromium",
 | 
						|
            use: { ...devices["Desktop Chrome"] },
 | 
						|
        },
 | 
						|
 | 
						|
        {
 | 
						|
            name: "firefox",
 | 
						|
            use: { ...devices["Desktop Firefox"] },
 | 
						|
        },
 | 
						|
 | 
						|
        {
 | 
						|
            name: "webkit",
 | 
						|
            use: { ...devices["Desktop Safari"] },
 | 
						|
        },
 | 
						|
 | 
						|
        /* Test against mobile viewports. */
 | 
						|
        // {
 | 
						|
        //   name: 'Mobile Chrome',
 | 
						|
        //   use: { ...devices['Pixel 5'] },
 | 
						|
        // },
 | 
						|
        // {
 | 
						|
        //   name: 'Mobile Safari',
 | 
						|
        //   use: { ...devices['iPhone 12'] },
 | 
						|
        // },
 | 
						|
 | 
						|
        /* Test against branded browsers. */
 | 
						|
        // {
 | 
						|
        //   name: 'Microsoft Edge',
 | 
						|
        //   use: { ...devices['Desktop Edge'], channel: 'msedge' },
 | 
						|
        // },
 | 
						|
        // {
 | 
						|
        //   name: 'Google Chrome',
 | 
						|
        //   use: { ...devices['Desktop Chrome'], channel: 'chrome' },
 | 
						|
        // },
 | 
						|
    ],
 | 
						|
    /* Run your local dev server before starting the tests */
 | 
						|
    webServer: {
 | 
						|
        command: "pnpm run preview",
 | 
						|
        url: `http://localhost:4321${BASE_PATH}`,
 | 
						|
        reuseExistingServer: !process.env.CI,
 | 
						|
        timeout: 120 * 1000,
 | 
						|
    },
 | 
						|
});
 |