43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { defineConfig, devices } from '@playwright/test';
|
|
|
|
/**
|
|
* Playwright configuration for Electron smoke tests
|
|
*
|
|
* Purpose: Verify Electron app launches without runtime errors
|
|
* Scope: App initialization, IPC channels, browser context isolation
|
|
*
|
|
* Critical Detection:
|
|
* - Node.js modules imported in renderer process
|
|
* - Console errors during startup
|
|
* - IPC channel communication failures
|
|
*/
|
|
export default defineConfig({
|
|
testDir: './tests/smoke',
|
|
testMatch: ['**/electron-build.smoke.test.ts'],
|
|
|
|
// Serial execution, single worker for deterministic Electron testing
|
|
fullyParallel: false,
|
|
workers: 1,
|
|
|
|
// Fail fast - stop on first error
|
|
maxFailures: 1,
|
|
|
|
// Timeout: Electron app should launch quickly
|
|
timeout: 30_000,
|
|
|
|
// Retain artifacts on failure for debugging
|
|
use: {
|
|
screenshot: 'only-on-failure',
|
|
video: 'retain-on-failure',
|
|
trace: 'retain-on-failure',
|
|
},
|
|
|
|
// Reporter: verbose for CI/local debugging
|
|
reporter: [
|
|
['list'],
|
|
['html', { open: 'never' }]
|
|
],
|
|
|
|
// No retry - smoke tests must pass on first run
|
|
retries: 0,
|
|
}); |