import { Reporter } from '@playwright/test/reporter'; import { HtmlReporter } from './HtmlReporter'; import { MarkdownReporter } from './MarkdownReporter'; export function createCustomReporter(options?: { htmlDir?: string; markdownFile?: string; }): Reporter { const htmlReporter = new HtmlReporter({ outputDir: options?.htmlDir || 'test-results/custom-html-report' }); const markdownReporter = new MarkdownReporter({ outputFile: options?.markdownFile || 'test-results/test-report.md' }); return { onBegin: async (config, suite) => { await htmlReporter.onBegin?.(config, suite); await markdownReporter.onBegin?.(config, suite); }, onTestEnd: async (test, result) => { await htmlReporter.onTestEnd?.(test, result); await markdownReporter.onTestEnd?.(test, result); }, onEnd: async (result) => { await htmlReporter.onEnd?.(); await markdownReporter.onEnd?.(); } }; }