///
///
import RPClient from '@reportportal/client-javascript';
import { Reporter, Suite as PWSuite, TestCase, TestResult } from '@playwright/test/reporter';
import { Attribute, LogRQ, ReportPortalConfig, TestStepWithId } from './models';
import { STATUSES } from './constants';
export interface TestItem {
id: string;
name: string;
status?: STATUSES;
attributes?: Attribute[];
description?: string;
testCaseId?: string;
}
interface Suite extends TestItem {
logs?: LogRQ[];
testInvocationsLeft?: number;
descendants?: string[];
executedTestCount?: number;
}
interface Annotation {
type: string;
description?: string;
}
export declare class RPReporter implements Reporter {
config: ReportPortalConfig;
client: RPClient;
launchId: string;
suites: Map;
suitesInfo: Map>;
promises: Promise[];
testItems: Map;
customLaunchStatus: string;
launchLogs: Map;
nestedSteps: Map;
activeSteps: Map;
logTime: number;
isLaunchFinishSend: boolean;
loggedErrors: Map>;
stepAttachments: Map>;
constructor(config: ReportPortalConfig);
addRequestToPromisesQueue(promise: Promise, failMessage: string): void;
onEventReport({ type, data, suiteName }: {
type: string;
data: any;
suiteName?: string;
}, test?: TestCase): void;
onStdOut(chunk: string | Buffer, test?: TestCase): void;
onStdErr(chunk: string | Buffer, test?: TestCase): void;
addAttributes(attr: Attribute[], test: TestCase, suiteName: string): void;
setDescription(description: string, test: TestCase, suiteName: string): void;
setTestCaseId(testCaseId: string, test: TestCase, suiteName: string): void;
setStatus(status: STATUSES, test: TestCase, suiteName: string): void;
setLaunchStatus(status: STATUSES): void;
sendTestItemLog(log: LogRQ, test: TestCase, suiteName?: string): void;
sendLaunchLog(log: LogRQ): void;
sendLog(tempId: string, { level, message, time, file }: LogRQ): void;
finishSuites(): void;
onBegin(): void;
createSuitesOrder(suite: PWSuite, suitesOrder: PWSuite[]): void;
createSuites(test: TestCase): string;
onTestBegin(test: TestCase): void;
onStepBegin(test: TestCase, result: TestResult, step: TestStepWithId): void;
onStepEnd(test: TestCase, result: TestResult, step: TestStepWithId): Promise;
processAnnotations({ annotations, test }: {
annotations: Annotation[];
test?: TestCase;
}): void;
onTestEnd(test: TestCase, result: TestResult): Promise;
updateAncestorsTestInvocations(test: TestCase, result: TestResult): void;
onEnd(): Promise;
printsToStdio(): boolean;
}
export {};