UNPKG

@serenity-js/webdriverio

Version:

Adapter that integrates @serenity-js/web with the latest stable version of WebdriverIO, enabling Serenity/JS reporting and using the Screenplay Pattern to write web and mobile test scenarios

71 lines 2.83 kB
import type { Stage, StageCrewMember } from '@serenity-js/core'; import type { DomainEvent } from '@serenity-js/core/lib/events/index.js'; import type { Outcome } from '@serenity-js/core/lib/model/index.js'; 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; 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 finished * @private */ private testResultFrom; private testEndEventFrom; private whenSuccessful; private testResultEventFrom; 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