/**
* QA360 HTML Reporter
*
* Generates interactive HTML reports with embedded screenshots,
* videos, and traces for UI test results.
*/
export interface ReportData {
title: string;
summary: {
total: number;
passed: number;
failed: number;
skipped: number;
duration: number;
timestamp: string;
};
tests: TestReport[];
artifacts?: {
screenshots: ReportScreenshotArtifact[];
videos: ReportVideoArtifact[];
traces: ReportTraceArtifact[];
};
environment?: {
browser?: string;
platform?: string;
nodeVersion?: string;
qa360Version?: string;
};
}
export interface TestReport {
id: string;
name: string;
status: 'passed' | 'failed' | 'skipped';
duration: number;
error?: string;
steps: StepReport[];
artifacts?: {
screenshots: string[];
video?: string;
trace?: string;
};
}
export interface StepReport {
name: string;
action: string;
selector?: string;
value?: string;
status: 'passed' | 'failed' | 'skipped';
duration: number;
error?: string;
screenshot?: string;
}
export interface ReportScreenshotArtifact {
path: string;
timestamp: string;
type: 'before' | 'after' | 'error' | 'initial';
stepIndex?: number;
}
export interface ReportVideoArtifact {
path: string;
duration: number;
}
export interface ReportTraceArtifact {
path: string;
format: string;
}
/**
* HTML Report Generator
*/
export declare class HTMLReporter {
/**
* Generate HTML report from test data
*/
static generate(data: ReportData, outputPath: string): void;
/**
* Generate HTML content
*/
private static generateHTML;
/**
* Get CSS styles
*/
private static getCSS;
/**
* Generate header HTML
*/
private static getHeader;
/**
* Generate summary HTML
*/
private static getSummary;
/**
* Generate tests HTML
*/
private static getTests;
/**
* Generate single test card HTML
*/
private static getTestCard;
/**
* Generate step HTML
*/
private static getStep;
/**
* Generate artifacts section HTML
*/
private static getArtifacts;
/**
* Generate JavaScript
*/
private static getJavaScript;
/**
* Escape HTML special characters
*/
private static escapeHTML;
}
/**
* Generate HTML report from Playwright test results
*/
export declare function generateHTMLReport(title: string, results: any[], outputPath: string, artifacts?: any): void;