import type { Stage, StageCrewMember } from '@serenity-js/core'; import type { DomainEvent } from '@serenity-js/core/events'; import type { Outcome } from '@serenity-js/core/model'; import type { Capabilities } from '@wdio/types'; import type { EventEmitter } from 'events'; import type { WebdriverIOConfig } from '../config/index.js'; /** * @package */ export declare class WebdriverIONotifier implements StageCrewMember { private readonly config; private readonly capabilities; private readonly reporter; private readonly successThreshold; private readonly cid; private readonly specs; private failures; private stage?; /** * We don't have access to the "context" object produced by Mocha, * and can't assume that other test runners have a similar concept. * Since, at the time of writing, none of the WebdriverIO rely on this parameter * using a dummy seems to be sufficient. * @private */ private static dummmyContext; private readonly events; private readonly suites; constructor(config: WebdriverIOConfig, capabilities: Capabilities.RequestedStandaloneCapabilities | Capabilities.RequestedStandaloneCapabilities[] | Capabilities.RequestedMultiremoteCapabilities | Capabilities.RequestedMultiremoteCapabilities[], reporter: EventEmitter, successThreshold: Outcome | { Code: number; }, cid: string, specs: string[], failures?: number, stage?: Stage); assignedTo(stage: Stage): StageCrewMember; notifyOf(event: DomainEvent): void; private onTestRunFinishes; failureCount(): number; private onTestSuiteStarts; private onTestSuiteFinished; private suiteStartEventFrom; private suiteNamesConcatenatedWith; private suiteEndEventFrom; private onSceneStarts; /** * Invoked when SceneFinishes is received, BEFORE waitForNextCue() is called. * This is the right time to invoke the afterTest hook so that it's awaited * before the test runner moves on to the next test. */ private onSceneFinishes; /** * Invoked when SceneFinished is received, AFTER waitForNextCue() has returned. * At this point, the afterTest hook has already been invoked and awaited. * We only need to handle any cleanup failures here. */ private onSceneFinished; private willBeRetried; private testShortTitleFrom; private testFrom; private testStartEventFrom; private parentSuiteName; /** * test status is 'passed' | 'pending' | 'skipped' | 'failed' | 'broken' | 'canceled' * Since this is not documented, we're mimicking other WebdriverIO reporters, for example: * https://github.com/webdriverio/webdriverio/blob/7415f3126e15a733b51721492e4995ceafae6046/packages/wdio-allure-reporter/src/constants.ts#L3-L9 * * @param started * @param finishes * @private */ private testResultFromFinishes; private testEndEventFromFinishes; private whenSuccessful; private testResultEventFromFinishes; private errorFrom; /** * @see https://github.com/webdriverio/webdriverio/blob/main/packages/wdio-utils/src/shim.ts * @param hookName * @param hookFunctions * @param args * @private */ private invokeHooks; } //# sourceMappingURL=WebdriverIONotifier.d.ts.map