@reportportal/agent-js-playwright
Version:
Agent to integrate Playwright with ReportPortal.
71 lines (70 loc) • 2.78 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
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<string, Suite>;
suitesInfo: Map<string, Omit<Suite, 'id'>>;
promises: Promise<void>[];
testItems: Map<string, TestItem>;
customLaunchStatus: string;
launchLogs: Map<string, LogRQ>;
nestedSteps: Map<string, TestItem>;
isLaunchFinishSend: boolean;
constructor(config: ReportPortalConfig);
addRequestToPromisesQueue(promise: Promise<void>, 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): void;
processAnnotations({ annotations, test }: {
annotations: Annotation[];
test?: TestCase;
}): void;
onTestEnd(test: TestCase, result: TestResult): Promise<void>;
updateAncestorsTestInvocations(test: TestCase, result: TestResult): void;
onEnd(): Promise<void>;
printsToStdio(): boolean;
}
export {};