donobu
Version:
Create browser automations with an LLM agent and replay them as Playwright scripts.
38 lines • 1.6 kB
TypeScript
/**
* @fileoverview Donobu Markdown Reporter for Playwright.
*
* Writes a Markdown summary of the run to disk. When `$GITHUB_STEP_SUMMARY`
* is set (i.e. running inside a GitHub Actions step), the same Markdown is
* also written there so the report shows up in the job summary without
* needing a separate `cat >> $GITHUB_STEP_SUMMARY` workflow step. Both
* writes are truncating, so when auto-heal regenerates the report afterwards
* the consolidated version overwrites the initial one.
*
* @usage
* ```ts
* // playwright.config.ts
* reporter: [
* ['donobu/reporter/markdown', { outputFile: 'test-results/report.md' }],
* ],
* ```
*
* During an auto-heal rerun (`DONOBU_AUTO_HEAL_ACTIVE=1`) the reporter skips
* file writes. It always merges its output entry into the shared state file
* so the orchestrator knows to regenerate the markdown from the merged report.
*/
import type { FullConfig, FullResult, Reporter, Suite, TestCase, TestResult } from '@playwright/test/reporter';
export interface DonobuMarkdownReporterOptions {
/** Path to write the Markdown report. Defaults to `test-results/report.md`. */
outputFile?: string;
}
export default class DonobuMarkdownReporter implements Reporter {
private readonly options;
private readonly resultsByTest;
private rootDir;
constructor(options?: DonobuMarkdownReporterOptions);
onBegin(config: FullConfig, _suite: Suite): void;
onTestEnd(test: TestCase, result: TestResult): void;
onEnd(_result: FullResult): Promise<void>;
printsToStdio(): boolean;
}
//# sourceMappingURL=markdown.d.ts.map