UNPKG

@serenity-js/playwright-test

Version:

Serenity/JS test runner adapter for Playwright Test, combining Playwright's developer experience with the advanced reporting and automation capabilities of Serenity/JS

58 lines 3.13 kB
import type { FullConfig } from '@playwright/test'; import type { FullResult, Reporter, Suite, TestCase, TestError, TestResult } from '@playwright/test/reporter'; import type { ClassDescription, StageCrewMember, StageCrewMemberBuilder } from '@serenity-js/core'; import type { OutputStream } from '@serenity-js/core/lib/adapter'; /** * Configuration object accepted by `@serenity-js/playwright-test` reporter. * * For usage examples, see: * - [`SerenityFixtures`](https://serenity-js.org/api/playwright-test/interface/SerenityFixtures/) * - [`SerenityWorkerFixtures`](https://serenity-js.org/api/playwright-test/interface/SerenityFixtures/) */ export interface SerenityReporterForPlaywrightTestConfig { /** * A list of [stage crew member builders](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/) or [stage crew members](https://serenity-js.org/api/core/interface/StageCrewMember/) * to be instantiated in Playwright Test reporter process and notified of [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/) that occur during the scenario execution. * Note that the `crew` can also be configured using [class descriptions](https://serenity-js.org/api/core/#ClassDescription). * * #### Learn more * - [`SerenityFixtures`](https://serenity-js.org/api/playwright-test/interface/SerenityFixtures/) * - [`SerenityConfig.crew`](https://serenity-js.org/api/core/class/SerenityConfig/#crew) */ crew?: Array<StageCrewMember | StageCrewMemberBuilder | ClassDescription>; /** * An output stream to be injected into [stage crew member builders](https://serenity-js.org/api/core/interface/StageCrewMemberBuilder/) * * Defaults to [`process.stdout`](https://nodejs.org/api/process.html#process_process_stdout). * * #### Learn more * - [`SerenityConfig.outputStream`](https://serenity-js.org/api/core/class/SerenityConfig/#outputStream) */ outputStream?: OutputStream; } /** * Serenity/JS reporter that receives notifications from Playwright Test and emits them as * Serenity/JS [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/) which can be used by * Serenity/JS [stage crew members](https://serenity-js.org/api/core/interface/StageCrewMember/). */ export declare class SerenityReporterForPlaywrightTest implements Reporter { private readonly errorParser; private readonly sceneIdFactory; private readonly serenity; private unhandledError?; private readonly eventBuffer; private readonly suiteTestCounts; /** * @param config */ constructor(config: SerenityReporterForPlaywrightTestConfig); onBegin(config: FullConfig, suite: Suite): void; private countTestsPerSuite; onTestBegin(test: TestCase, result: TestResult): void; onTestEnd(test: TestCase, result: TestResult): void; private countPendingAfterAllHooks; onError(error: TestError): void; onEnd(fullResult: FullResult): Promise<void>; printsToStdio(): boolean; } //# sourceMappingURL=SerenityReporterForPlaywrightTest.d.ts.map