@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
TypeScript
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